/openbmc/qemu/hw/vfio/ |
H A D | migration.c | 2 * Migration support for VFIO devices 20 #include "migration/misc.h" 21 #include "migration/savevm.h" 22 #include "migration/vmstate.h" 23 #include "migration/qemu-file.h" 24 #include "migration/register.h" 25 #include "migration/blocker.h" 35 * Flags to be used as unique delimiters for VFIO devices in the migration 52 * This is an arbitrary size based on migration of mlx5 devices, where typically 53 * total device migration size is on the order of 100s of MB. Testing with [all …]
|
/openbmc/openbmc/poky/documentation/migration-guides/ |
H A D | index.rst | 14 migration-general 23 migration-3.3 24 migration-3.2 25 migration-3.1 26 migration-3.0 27 migration-2.7 28 migration-2.6 29 migration-2.5 30 migration-2.4 31 migration-2.3 [all …]
|
H A D | migration-5.0.rst | 6 Migration notes for 5.0 (scarthgap) 9 This section provides migration information for moving to the Yocto 13 the previous migration notes from your release to this new one: 15 - :doc:`/migration-guides/migration-4.3` 16 - :doc:`/migration-guides/migration-4.2` 17 - :doc:`/migration-guides/migration-4.1` 18 - :doc:`/migration-guides/migration-4.0` 19 - :doc:`/migration-guides/migration-3.4` 20 - :doc:`/migration-guides/migration-3.3` 21 - :doc:`/migration-guides/migration-3.2` [all …]
|
H A D | release-notes-4.3.1.rst | 59 - migration-4.3: additional migration items 60 - migration-4.3: adjustments to existing text 61 - migration-4.3: remove some unnecessary items 62 - migration-guides: QEMU_USE_SLIRP variable removed 63 - migration-guides: add BitBake changes 64 - migration-guides: add debian 12 to newly supported distros 65 - migration-guides: add kernel notes 66 - migration-guides: add testing notes 67 - migration-guides: add utility notes 68 - migration-guides: edgerouter machine removed [all …]
|
/openbmc/qemu/docs/devel/migration/ |
H A D | vfio.rst | 2 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 D | main.rst | 2 Migration framework 18 requested: migration. This means that QEMU is able to start in one 22 Next was the "live migration" functionality. This is important 25 migration allows the guest to continue running while the state is 28 unresponsive during live migration is the low hundred of milliseconds 36 The migration stream is normally just a byte stream that can be passed 39 - tcp migration: do the migration using tcp sockets 40 - unix migration: do the migration using unix sockets 41 - exec migration: do the migration using the stdin/stdout through a process. 42 - fd migration: do the migration using a file descriptor that is [all …]
|
H A D | postcopy.rst | 7 '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 D | compatibility.rst | 7 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 D | mapped-ram.rst | 5 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 D | best-practices.rst | 8 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
|
/openbmc/qemu/tests/qemu-iotests/ |
H A D | 234.out | 2 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": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec… 14 {"data": {"status": "active"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "second… 15 {"data": {"status": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec… 23 Enabling migration QMP events on A... 26 Starting migration back to A... [all …]
|
H A D | 262.out | 2 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": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec… 12 {"data": {"status": "active"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "second… 13 {"data": {"status": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec…
|
H A D | 203.out | 5 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": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec…
|
H A D | 194.out | 11 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": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec… 23 Wait for migration completion on target... 24 {"data": {"status": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "sec…
|
/openbmc/qemu/include/migration/ |
H A D | blocker.h | 2 * 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 D | misc.h | 2 * 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 */ 48 /* migration/savevm.c */ 52 /* migration/migration.c */ 81 * Register the notifier @notify to be called when a migration event occurs 100 /* True if incoming migration entered POSTCOPY_INCOMING_DISCARD */ 103 /* True if incoming migration entered POSTCOPY_INCOMING_ADVISE */
|
/openbmc/qemu/qapi/ |
H A D | migration.json | 6 # = 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 …]
|
/openbmc/linux/Documentation/mm/ |
H A D | page_migration.rst | 2 Page migration 5 Page migration allows moving the physical location of pages between 13 The main intent of page migration is to reduce the latency of memory accesses 17 Page migration allows a process to manually relocate the node on which its 23 Page migration functions are provided by the numactl package by Andi Kleen 27 migration. cat ``/proc/<pid>/numa_maps`` allows an easy review of where the 31 Manual migration is useful if for example the scheduler has relocated 35 manual page migration support. Automatic page migration may be implemented 52 Page migration allows the preservation of the relative location of pages 53 within a group of nodes for all migration techniques which will preserve a [all …]
|
/openbmc/qemu/migration/ |
H A D | migration.h | 2 * QEMU live migration 19 #include "qapi/qapi-types-migration.h" 29 #include "migration/misc.h" 90 /* State for the incoming migration */ 95 /* A hook to allow cleanup at the end of incoming migration */ 180 * The incoming migration coroutine, non-NULL during qemu_loadvm_state(). 181 * Used to wake the migration incoming coroutine from rdma code. How much is 192 * live migration, to calculate vCPU block time 245 /* Do exit on incoming migration failure */ 257 #define TYPE_MIGRATION "migration" [all …]
|
H A D | migration.c | 2 * QEMU live migration 20 #include "migration/blocker.h" 30 #include "migration/global_state.h" 31 #include "migration/misc.h" 32 #include "migration.h" 33 #include "migration-stats.h" 37 #include "migration/vmstate.h" 41 #include "qapi/qapi-visit-migration.h" 43 #include "qapi/qapi-commands-migration.h" 44 #include "qapi/qapi-events-migration.h" [all …]
|
H A D | block-dirty-bitmap.c | 2 * Block dirty bitmap postcopy migration 13 * This file is derived from migration/block.c, so it's author and IBM copyright 21 * Here postcopy migration of dirty bitmaps is realized. Only QMP-addressable 24 * Bitmap migration implies creating bitmap with the same name and granularity 28 * format of migration: 37 * # Start of bitmap migration (flags & START) 46 * # Complete of bitmap migration (flags & COMPLETE) 49 * # Data chunk of bitmap migration 69 #include "migration/misc.h" 70 #include "migration/migration.h" [all …]
|
/openbmc/qemu/docs/ |
H A D | rdma.txt | 2 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 …]
|
/openbmc/qemu/tests/qtest/ |
H A D | migration-test.c | 2 * QTest testcase for migration 26 #include "migration-helpers.h" 27 #include "tests/migration/migration-test.h" 54 * from the migration guest workload. 66 #define ANALYZE_SCRIPT "scripts/analyze-migration.py" 141 #include "tests/migration/i386/a-b-bootblock.h" 142 #include "tests/migration/aarch64/a-b-kernel.h" 143 #include "tests/migration/ppc64/a-b-kernel.h" 144 #include "tests/migration/s390x/a-b-bios.h" 247 * It's tricky to use qemu's migration event capability with qtest, [all …]
|
/openbmc/linux/tools/testing/selftests/kvm/ |
H A D | rseq_test.c | 26 * Any bug related to task migration is likely to be timing-dependent; perform 80 * that a migration may have occurred in between rseq and sched in migration_worker() 81 * CPU ID reads. An odd sequence count indicates a migration in migration_worker() 83 * a migration occurred since the count was last read. in migration_worker() 105 * 1. To allow sched_setaffinity() to prompt migration before in migration_worker() 122 * before the next round of migration. The test's check on in migration_worker() 123 * the rseq CPU ID must wait for migration to complete in in migration_worker() 125 * will be missed if the next migration starts before the in migration_worker() 186 "Only one usable CPU, task migration not possible"); in calc_min_max_cpu() 222 * Verify rseq's CPU matches sched's CPU. Ensure migration in main() [all …]
|
/openbmc/linux/tools/testing/selftests/mm/ |
H A D | migration.c | 3 * The main purpose of the tests here is to exercise the migration entry code 23 FIXTURE(migration) in FIXTURE() argument 32 FIXTURE_SETUP(migration) in FIXTURE_SETUP() argument 57 FIXTURE_TEARDOWN(migration) in FIXTURE_TEARDOWN() argument 114 * Basic migration entry testing. One thread will move pages back and forth 116 * migration entry wait paths in the kernel. 118 TEST_F_TIMEOUT(migration, private_anon, 2*RUNTIME) 143 TEST_F_TIMEOUT(migration, shared_anon, 2*RUNTIME) 176 * Tests the pmd migration entry paths. 178 TEST_F_TIMEOUT(migration, private_anon_thp, 2*RUNTIME)
|