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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html