[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 0/5] Add ignore-external migration capability
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH v3 0/5] Add ignore-external migration capability |
Date: |
Tue, 5 Mar 2019 18:06:35 +0000 |
User-agent: |
Mutt/1.11.3 (2019-02-01) |
* Dr. David Alan Gilbert (address@hidden) wrote:
> * Yury Kotov (address@hidden) 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
> >
> > 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 / address@hidden / Manchester, UK
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK