From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=55086 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OOegs-0008CZ-5w for qemu-devel@nongnu.org; Tue, 15 Jun 2010 18:33:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OOegq-0003Xt-VZ for qemu-devel@nongnu.org; Tue, 15 Jun 2010 18:33:06 -0400 Received: from mail-iw0-f173.google.com ([209.85.214.173]:47542) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OOegq-0003Xc-RP for qemu-devel@nongnu.org; Tue, 15 Jun 2010 18:33:04 -0400 Received: by iwn10 with SMTP id 10so5841205iwn.4 for ; Tue, 15 Jun 2010 15:33:03 -0700 (PDT) Message-ID: <4C17FFAE.5010000@codemonkey.ws> Date: Tue, 15 Jun 2010 17:33:18 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [PATCH RFC] Mark a device as non-migratable References: <4C16558A.5010005@codemonkey.ws> <1276618603-24184-1-git-send-email-cam@cs.ualberta.ca> <4C17AB1C.7010701@codemonkey.ws> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Cam Macdonell Cc: qemu-devel@nongnu.org On 06/15/2010 05:26 PM, Cam Macdonell wrote: > On Tue, Jun 15, 2010 at 10:32 AM, Anthony Liguori wrote: > >> On 06/15/2010 11:16 AM, Cam Macdonell wrote: >> >>> How does this look for marking the device as non-migratable? It adds a >>> field >>> 'no_migrate' to the SaveStateEntry and tests for it in vmstate_save. This >>> would >>> replace anything that touches memory. >>> >>> Cam >>> >>> --- >>> hw/hw.h | 1 + >>> savevm.c | 32 +++++++++++++++++++++++++++++--- >>> 2 files changed, 30 insertions(+), 3 deletions(-) >>> >>> diff --git a/hw/hw.h b/hw/hw.h >>> index d78d814..7c93f08 100644 >>> --- a/hw/hw.h >>> +++ b/hw/hw.h >>> @@ -263,6 +263,7 @@ int register_savevm_live(const char *idstr, >>> void *opaque); >>> >>> void unregister_savevm(const char *idstr, void *opaque); >>> +void mark_no_migrate(const char *idstr, void *opaque); >>> >>> >> I'm not thrilled with the name but the functionality is spot on. I lack the >> creativity to offer a better name suggestion :-) >> >> Regards, >> >> Anthony Liguori >> > Hmmm, in working on this it seems that the memory (from > qemu_ram_map()) is still attached even when the device is removed > (which causes migration to fail because there is an unexpected > memory). > > Is something like cpu_unregister_physical_memory()/qemu_ram_free() needed? > Yes. You need to unregister any memory that you have registered upon device removal. Regards, Anthony Liguori > Cam > >