[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/4] Add ignore-external migration capability
From: |
Yury Kotov |
Subject: |
[Qemu-devel] [PATCH 0/4] Add ignore-external migration capability |
Date: |
Thu, 10 Jan 2019 15:01:16 +0300 |
Hi,
The series adds migration capability which allows to skip 'external' RAM blocks
during migration. External block is a RAMBlock which available from the outside
of current QEMU process (e.g. file in /dev/shm). It's useful for fast local
migration to update QEMU for the running guests.
Patches:
1. Add offset validation to make sure that external RAM block has the same
physical offset on target side,
2. Add RAM_EXTERNAL flag to determine external RAM blocks,
3. Add ignore-external migration capability,
4. Add a test.
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-external capability on both VMs:
{ "execute": "migrate-set-capabilities" , "arguments":
{ "capabilities": [ { "capability": "x-ignore-external", "state": true } ]
} }
4. Start migration.
Regards,
Yury
Yury Kotov (4):
migration: add RAMBlock's offset validation
exec: add RAM_EXTERNAL flag to mark non-QEMU allocated blocks
migration: introduce ignore-external capability
tests/migration-test: Add a test for ignore-external capability
backends/hostmem-file.c | 3 +-
exec.c | 7 ++-
include/exec/cpu-common.h | 1 +
include/exec/memory.h | 3 ++
migration/migration.c | 9 ++++
migration/migration.h | 1 +
migration/ram.c | 52 ++++++++++++++++--
numa.c | 4 +-
qapi/migration.json | 6 ++-
tests/migration-test.c | 109 +++++++++++++++++++++++++++++++-------
10 files changed, 165 insertions(+), 30 deletions(-)
--
2.20.1
- [Qemu-devel] [PATCH 0/4] Add ignore-external migration capability,
Yury Kotov <=