From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: [RFC PATCH 0/6] RAM migration overhaul Date: Tue, 08 Jun 2010 13:14:59 -0600 Message-ID: <20100608191447.4451.47795.stgit@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: chrisw@redhat.com, alex.williamson@redhat.com, kvm@vger.kernel.org, quintela@redhat.com To: qemu-devel@nongnu.org, anthony@codemonkey.ws Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org List-Id: kvm.vger.kernel.org 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(-)