[RFC PATCH 0/6] RAM migration overhaul

Alex Williamson
2010-06-08T19:14:59Z

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(-)