As we discussed at the KVM developer call this morning, there are
a number of issues with how we migrate RAM in the presence of
hotplug, particularly:
- RAM allocated on the source may not match the target
- Abiguity of ram_addr_t between source and target
- Inability to remove RAM
- etc...
This series is a start at overhauling the infrastructure and at least
addresses the first two issues above. I could use some help working on
the freeing part, but I think this provides a solid basis for that.
I've only addressed the qemu-kvm/x86 bits, but the impact to other archs
and drivers is simply to add a unique name field when calling
qemu_ram_map/alloc().
Let me know what you think. Thanks,
Alex
---
Alex Williamson (6):
savevm: Use RAM blocks for basis of migration
savevm: Migrate RAM based on name/offset
Remove uses of ram.last_offset (aka last_ram_offset)
RAMBlock: Add a name field
ram_blocks: Convert to a QLIST
qemu_ram_alloc: Remove duplicate code
arch_init.c | 161 ++++++++++++++++++++++++++++++++++++++++--------
cpu-all.h | 28 ++++++--
cpu-common.h | 4 +
exec.c | 126 ++++++++++++++------------------------
hw/device-assignment.c | 8 ++
hw/pc.c | 8 +-
hw/pci.c | 5 +
hw/vga.c | 2 -
hw/vmware_vga.c | 2 -
vl.c | 2 -
10 files changed, 219 insertions(+), 127 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html