From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=54976 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OM4Gc-0006FF-2g for qemu-devel@nongnu.org; Tue, 08 Jun 2010 15:15:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OM4Ga-0005Fw-Rm for qemu-devel@nongnu.org; Tue, 08 Jun 2010 15:15:17 -0400 Received: from qmta11.westchester.pa.mail.comcast.net ([76.96.59.211]:58624) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OM4Ga-0005F1-PH for qemu-devel@nongnu.org; Tue, 08 Jun 2010 15:15:16 -0400 From: Alex Williamson 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 Subject: [Qemu-devel] [RFC PATCH 0/6] RAM migration overhaul List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, anthony@codemonkey.ws Cc: chrisw@redhat.com, alex.williamson@redhat.com, kvm@vger.kernel.org, quintela@redhat.com 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(-)