RFC RAM migration overhaul
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest6 patches 40 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/6 | qemu_ram_alloc: Remove duplicate codeexec.c | +10 | 1 reply | |
| 2/6 | ram_blocks: Convert to a QLISTarch_init.c cpu-all.h exec.c | +49 | 7 replies | |
| 3/6 | RAMBlock: Add a name fieldcpu-all.h cpu-common.h exec.c +5 more | +24 | 28 replies | |
| 4/6 | Remove uses of ram.last_offset (aka last_ram_offset)arch_init.c cpu-all.h exec.c | +30 | 0 replies | |
| 5/6 | savevm: Migrate RAM based on name/offsetarch_init.c vl.c | +93 | 4 replies | |
| 6/6 | savevm: Use RAM blocks for basis of migrationarch_init.c | +42 | 0 replies |
Reviews trailers per patch
2 of 6 patches have a Reviewed-by or Acked-by.
| Patch | Chris Wright |
|---|---|
| 1/6 | A-b |
| 2/6 | A-b |
| 3/6 | |
| 4/6 | |
| 5/6 | |
| 6/6 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [RFC PATCH 0/6] RAM migration overhaul
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(-)