Home
last modified time | relevance | path

Searched full:migration (Results 1 – 25 of 1062) sorted by relevance

12345678910>>...43

/qemu/hw/vfio/
H A Dmigration.c2 * Migration support for VFIO devices
20 #include "hw/vfio/vfio-migration.h"
21 #include "migration/misc.h"
22 #include "migration/savevm.h"
23 #include "migration/vmstate.h"
24 #include "migration/qemu-file.h"
25 #include "migration/register.h"
26 #include "migration/blocker.h"
27 #include "migration-multifd.h"
34 #include "vfio-migration-internal.h"
[all …]
H A Dmigration-multifd.c2 * Multifd VFIO migration
14 #include "migration/misc.h"
22 #include "migration/qemu-file.h"
23 #include "migration-multifd.h"
24 #include "vfio-migration-internal.h"
112 VFIOMigration *migration = vbasedev->migration; in vfio_load_state_buffer_insert() local
113 VFIOMultifd *multifd = migration->multifd; in vfio_load_state_buffer_insert()
141 VFIOMigration *migration = vbasedev->migration; in vfio_multifd_load_state_buffer() local
142 VFIOMultifd *multifd = migration->multifd; in vfio_multifd_load_state_buffer()
203 VFIOMigration *migration = vbasedev->migration; in vfio_load_bufs_thread_load_config() local
[all …]
/qemu/docs/devel/migration/
H A Dvfio.rst2 VFIO device migration
5 Migration of virtual machine involves saving the state for each device that
10 Migration of VFIO devices consists of two phases: the optional pre-copy phase,
13 transferred. The iterative pre-copy phase of migration allows for the guest to
20 enabling "switchover-ack" migration capability.
21 VFIO migration uAPI defines "initial bytes" as part of its pre-copy data stream
23 before stopping the source VM. Enabling this migration capability will
26 To support migration of multiple devices that might do P2P transactions between
27 themselves, VFIO migration uAPI defines an intermediate P2P quiescent state.
33 All the devices that support P2P migration are first transitioned to the P2P
[all …]
H A Dmain.rst4 Migration framework
20 requested: migration. This means that QEMU is able to start in one
24 Next was the "live migration" functionality. This is important
27 migration allows the guest to continue running while the state is
30 unresponsive during live migration is the low hundred of milliseconds
38 The migration stream is normally just a byte stream that can be passed
41 - tcp migration: do the migration using tcp sockets
42 - unix migration: do the migration using unix sockets
43 - exec migration: do the migration using the stdin/stdout through a process.
44 - fd migration: do the migration using a file descriptor that is
[all …]
H A Dpostcopy.rst7 'Postcopy' migration is a way to deal with migrations that refuse to converge
9 the amount of migration traffic and time it takes, the down side is that during
16 Postcopy can be combined with precopy (i.e. normal migration) so that if precopy
23 destination) prior to the start of migration:
27 The normal commands are then used to start a migration, which is still
33 It can be issued immediately after migration is started or any
34 time later on. Issuing it after the end of a migration is harmless.
36 Blocktime is a postcopy live migration metric, intended to show how
66 Set at the start of migration if postcopy is enabled, even
70 The destination will fail early in migration at this point if the
[all …]
H A Dcompatibility.rst7 When we do migration, we have two QEMU processes: the source and the
29 First of all, migration is only supposed to work if you use the same
77 This migration is known as newer to older. We need to make sure
79 migration to qemu-5.1. Notice that we can't make updates to
85 This migration is known as older to newer. We need to make sure
133 When we are doing migration, if we migrate from a device that has 4
136 migration.
154 correct. migration works.
161 correct. migration works.
183 migration A -> B is case 6, so number of queues needs to be 1.
[all …]
H A Dmapped-ram.rst5 supplement the existing ``file:`` migration and make it compatible
6 with ``multifd``. This enables parallel migration of a guest's RAM to
10 directly to offsets in the resulting migration file. This enables the
12 guest is constantly dirtying pages (i.e. live migration). Another
17 usage of O_DIRECT for save/restore of the migration stream as the
31 Use a ``file:`` URL for migration:
33 ``migrate file:/path/to/migration/file``
35 Mapped-ram migration is best done non-live, i.e. by stopping the VM on
45 The mapped-ram feature was designed for use cases where the migration
54 that's the ideal scenario for mapped-ram migration. Not having to
[all …]
H A Dbest-practices.rst8 The migration stream can be analyzed thanks to ``scripts/analyze-migration.py``.
17 $ ./scripts/analyze-migration.py -f mig
24 See also ``analyze-migration.py -h`` help for more options.
29 Migration migrates the copies of RAM and ROM, and thus when running
35 to hold the firmware and thus migration can fail. In practice it's best
40 emulation code can work with older firmware to allow forward migration.
42 - Care should be taken with newer firmware so that backward migration
/qemu/tests/qemu-iotests/
H A D234.out2 Enabling migration QMP events on A...
5 Enabling migration QMP events on B...
9 Starting migration to B...
11 {"data": {"status": "setup"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "seconds…
12 {"data": {"status": "active"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "second…
13 {"data": {"status": "device"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "second…
14 {"data": {"status": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec…
15 {"data": {"status": "active"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "second…
16 {"data": {"status": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec…
24 Enabling migration QMP events on A...
[all …]
H A D262.out2 Enabling migration QMP events on B...
5 Enabling migration QMP events on A...
7 Starting migration to B...
9 {"data": {"status": "setup"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "seconds…
10 {"data": {"status": "active"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "second…
11 {"data": {"status": "device"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "second…
12 {"data": {"status": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec…
13 {"data": {"status": "active"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "second…
14 {"data": {"status": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec…
H A D203.out5 Enabling migration QMP events...
7 Starting migration...
9 {"data": {"status": "setup"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "seconds…
10 {"data": {"status": "active"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "second…
11 {"data": {"status": "device"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "second…
12 {"data": {"status": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec…
H A D194.out11 Starting migration...
15 {"data": {"status": "setup"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "seconds…
16 {"data": {"status": "active"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "second…
17 {"data": {"status": "device"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "second…
18 {"data": {"status": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec…
24 Wait for migration completion on target...
25 {"data": {"status": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec…
/qemu/include/migration/
H A Dblocker.h2 * QEMU migration blockers
17 #include "qapi/qapi-types-migration.h"
22 * @migrate_add_blocker - prevent all modes of migration from proceeding
24 * @reasonp - address of an error to be returned whenever migration is attempted
26 * @errp - [out] The reason (if any) we cannot block migration right now.
37 * @migrate_add_blocker_internal - prevent all modes of migration from
40 * @reasonp - address of an error to be returned whenever migration is attempted
42 * @errp - [out] The reason (if any) we cannot block migration right now.
46 * Some of the migration blockers can be temporary (e.g., for a few seconds),
57 * @migrate_del_blocker - remove a migration blocker from all modes and free it.
[all …]
H A Dmisc.h2 * QEMU migration miscellaneus exported functions
18 #include "qapi/qapi-types-migration.h"
20 #include "migration/client-options.h"
22 /* migration/ram.c */
45 /* migration/block.c */
49 /* migration/savevm.c */
55 /* migration/migration.c */
82 * Register the notifier @notify to be called when a migration event occurs
101 /* True if incoming migration entered POSTCOPY_INCOMING_DISCARD */
104 /* True if incoming migration entered POSTCOPY_INCOMING_ADVISE */
[all …]
/qemu/qapi/
H A Dmigration.json6 # = Migration
15 # Detailed migration status.
22 # @total: total amount of bytes involved in the migration process
80 # Detailed XBZRLE migration cache statistics
106 # Detailed migration compression statistics
128 # An enumeration of migration status.
130 # @none: no migration has ever happened.
132 # @setup: migration process has been initiated.
134 # @cancelling: in the process of cancelling migration.
136 # @cancelled: cancelling migration is finished.
[all …]
/qemu/tests/qtest/migration/
H A Dframework.h15 #include <qapi/qapi-types-migration.h>
40 * created, but before the migration is started. This can
41 * be used to set migration parameters and capabilities.
50 * A hook that runs after the migration has finished,
53 * due to migration error)
63 * Our goal is to ensure that we run a single full migration
67 * We can't directly synchronize with the start of a migration
71 * Initially we set the migration bandwidth to an insanely
73 * guarantees migration will never complete.
76 * so we can't let the entire migration pass run at this speed.
[all …]
H A Dpostcopy-tests.c2 * QTest testcases for postcopy migration
15 #include "migration/framework.h"
16 #include "migration/migration-util.h"
89 migration_test_add("/migration/postcopy/plain", test_postcopy); in migration_test_add_postcopy_smoke()
90 migration_test_add("/migration/postcopy/recovery/plain", in migration_test_add_postcopy_smoke()
92 migration_test_add("/migration/postcopy/preempt/plain", in migration_test_add_postcopy_smoke()
129 migration_test_add("/migration/postcopy/preempt/recovery/plain", in migration_test_add_postcopy()
133 "/migration/postcopy/recovery/double-failures/handshake", in migration_test_add_postcopy()
137 "/migration/postcopy/recovery/double-failures/reconnect", in migration_test_add_postcopy()
140 migration_test_add("/migration/multifd+postcopy/plain", in migration_test_add_postcopy()
[all …]
H A Dmisc-tests.c2 * QTest testcases for migration
17 #include "migration/framework.h"
18 #include "migration/migration-qmp.h"
19 #include "migration/migration-util.h"
21 #define ANALYZE_SCRIPT "scripts/analyze-migration.py"
87 g_test_message("Failed to analyze the migration stream"); in test_analyze_script()
142 * UUID validation is at the begin of migration. So, the main process of in do_test_validate_uuid()
143 * migration is not interesting for us here. Thus, set huge downtime for in do_test_validate_uuid()
144 * very fast migration. in do_test_validate_uuid()
218 * 'uri' and 'channels' validation is checked even before the migration in do_test_validate_uri_channel()
[all …]
H A Dfile-tests.c2 * QTest testcases for migration to file
15 #include "migration/framework.h"
16 #include "migration/migration-qmp.h"
17 #include "migration/migration-util.h"
212 * Remove the fdsets after migration, otherwise a second migration in migrate_hook_end_multifd_mapped_ram_fdset()
219 * Make sure no fdsets are left after migration, otherwise a in migrate_hook_end_multifd_mapped_ram_fdset()
220 * second migration would fail due fdset reuse. in migrate_hook_end_multifd_mapped_ram_fdset()
299 migration_test_add("/migration/precopy/file", in migration_test_add_file_smoke()
302 migration_test_add("/migration/multifd/file/mapped-ram/dio", in migration_test_add_file_smoke()
316 migration_test_add("/migration/precopy/file/offset", in migration_test_add_file()
[all …]
H A Dcompression-tests.c2 * QTest testcases for migration compression
15 #include "migration/framework.h"
16 #include "migration/migration-qmp.h"
17 #include "migration/migration-util.h"
184 migration_test_add("/migration/multifd/tcp/plain/zlib", in migration_test_add_compression_smoke()
199 migration_test_add("/migration/multifd/tcp/plain/zstd", in migration_test_add_compression()
202 migration_test_add("/migration/multifd+postcopy/tcp/plain/zstd", in migration_test_add_compression()
208 migration_test_add("/migration/multifd/tcp/plain/qatzip", in migration_test_add_compression()
213 migration_test_add("/migration/multifd/tcp/plain/qpl", in migration_test_add_compression()
218 migration_test_add("/migration/multifd/tcp/plain/uadk", in migration_test_add_compression()
[all …]
H A Dtls-tests.c2 * QTest testcases for TLS migration
16 #include "migration/framework.h"
17 #include "migration/migration-qmp.h"
18 #include "migration/migration-util.h"
736 * migration state, and so it exits with I/O failure. in test_multifd_tcp_tls_x509_mismatch_host()
741 * to load migration state, and thus just aborts the migration in test_multifd_tcp_tls_x509_mismatch_host()
788 migration_test_add("/migration/precopy/tcp/tls/psk/match", in migration_test_add_tls_smoke()
802 migration_test_add("/migration/precopy/unix/tls/psk", in migration_test_add_tls()
811 migration_test_add("/migration/postcopy/tls/psk", in migration_test_add_tls()
813 migration_test_add("/migration/postcopy/recovery/tls/psk", in migration_test_add_tls()
[all …]
H A Dprecopy-tests.c2 * QTest testcase for precopy migration
17 #include "migration/bootfile.h"
18 #include "migration/framework.h"
19 #include "migration/migration-qmp.h"
20 #include "migration/migration-util.h"
23 #include "qapi-types-migration.h"
107 * During migration over RDMA, it will try to pin portions of guest memory,
133 #define RDMA_MIGRATION_HELPER "scripts/rdma-migration-helper.sh"
179 "# Optional: run 'scripts/rdma-migration-helper.sh clean' " in __test_precopy_rdma_plain()
243 /* Create two connected sockets for migration */ in migrate_hook_start_fd()
[all …]
H A Dcpr-tests.c15 #include "migration/framework.h"
16 #include "migration/migration-qmp.h"
17 #include "migration/migration-util.h"
55 * migration, and cannot connect synchronously to the monitor, so defer
128 migration_test_add("/migration/mode/reboot", test_mode_reboot); in migration_test_add_cpr()
132 migration_test_add("/migration/mode/transfer", test_mode_transfer); in migration_test_add_cpr()
133 migration_test_add("/migration/mode/transfer/defer", in migration_test_add_cpr()
/qemu/docs/
H A Drdma.txt2 RDMA Live Migration Specification, Version # 1
18 * RDMA Migration Protocol Description
21 * Migration of VM's ram
28 RDMA helps make your migration more deterministic under heavy load because
32 migration, under certain types of memory-bound workloads, may take a more
33 unpredictable amount of time to complete the migration if the amount of
34 memory tracked during each live migration iteration round cannot keep pace
39 migration using RDMA is capable of using both technologies because of
47 for a working build of QEMU to run successfully using RDMA Migration.
52 Use of RDMA during migration requires pinning and registering memory
[all …]
/qemu/migration/
H A Dmigration.h2 * QEMU live migration
19 #include "qapi/qapi-types-migration.h"
29 #include "migration/misc.h"
91 /* State for the incoming migration */
96 /* A hook to allow cleanup at the end of incoming migration */
181 * The incoming migration coroutine, non-NULL during qemu_loadvm_state().
182 * Used to wake the migration incoming coroutine from rdma code. How much is
197 * live migration, to calculate vCPU block time
250 /* Do exit on incoming migration failure */
262 #define TYPE_MIGRATION "migration"
[all …]

12345678910>>...43