05.03.2019, 21:06, "Dr. David Alan Gilbert" <dgilb...@redhat.com>: > * Dr. David Alan Gilbert (dgilb...@redhat.com) wrote: >> * Yury Kotov (yury-ko...@yandex-team.ru) wrote: >> > Hi, >> > >> > The series adds a migration capability, which allows to skip shared RAM >> blocks >> > during the migration. It's useful for fast local migration. E.g. to >> update QEMU >> > for the running guests. >> >> Queued > > Hi Yury, > The test is failing badly on aarch64 tcg for me (i.e. aarch64 tcg on > x86); I'm going to keep it merged but keep the test disabled for now. > Can you have a look to see if you can see what's going wrong? > > Dave >
Hi, Yes, of course. I'll look at this. Regards, Yury >> > >> > Usage example: >> > 1. Start source VM: >> > qemu-system-x86 \ >> > -m 4G \ >> > -object >> memory-backend-file,id=mem0,size=4G,share=on,mem-path=/dev/shm/mem0 \ >> > -numa node,memdev=mem0 \ >> > -qmp unix:/tmp/qemu-qmp-1.sock,server,nowait \ >> > >> > 2. Start target VM: >> > qemu-system-x86 \ >> > -m 4G \ >> > -object >> memory-backend-file,id=mem0,size=4G,share=on,mem-path=/dev/shm/mem0 \ >> > -numa node,memdev=mem0 \ >> > -qmp unix:/tmp/qemu-qmp-2.sock,server,nowait \ >> > -incoming defer >> > >> > 3. Enable ignore-shared capability on both VMs: >> > { "execute": "migrate-set-capabilities" , "arguments": >> > { "capabilities": [ { "capability": "x-ignore-shared", "state": true } ] >> } } >> > >> > 4. Start migration. >> > >> > Another use case I keep in mind is to migrate to file. Usage is very >> similar. >> > >> > V2 to V3: >> > * Split "migration: Introduce ignore-shared capability" >> > * Serialize the capabilities as strings rather than as indexes >> > * Don't allow to enable postcopy and ignore-shared together >> > * Skip the test for OSs which don't have /dev/shm >> > * Add a check whether shared RAM has been really skipped >> > >> > V1 to V2: >> > * Keep migration stream compatibility >> > * Reuse the existing code to ignore unwanted RAMBlocks >> > * Add capability validation feature >> > * ignore-external -> ignore-shared >> > >> > Regards, >> > Yury >> > >> > Yury Kotov (5): >> > exec: Change RAMBlockIterFunc definition >> > migration: Introduce ignore-shared capability >> > migration: Add an ability to ignore shared RAM blocks >> > tests/migration-test: Add a test for ignore-shared capability >> > migration: Add capabilities validation >> > >> > exec.c | 38 +++++------ >> > include/exec/cpu-common.h | 7 +- >> > migration/migration.c | 14 ++++ >> > migration/migration.h | 5 +- >> > migration/postcopy-ram.c | 48 +++++++------ >> > migration/ram.c | 110 ++++++++++++++++++++++-------- >> > migration/rdma.c | 9 ++- >> > migration/savevm.c | 137 ++++++++++++++++++++++++++++++++++++++ >> > qapi/migration.json | 5 +- >> > stubs/ram-block.c | 15 +++++ >> > tests/migration-test.c | 131 +++++++++++++++++++++++++++++------- >> > util/vfio-helpers.c | 6 +- >> > 12 files changed, 420 insertions(+), 105 deletions(-) >> > >> > -- >> > 2.20.1 >> > >> > >> -- >> Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > -- > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK