From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35233) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YhfpI-0003Ak-H4 for qemu-devel@nongnu.org; Mon, 13 Apr 2015 10:59:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YhfpC-0002XY-Ne for qemu-devel@nongnu.org; Mon, 13 Apr 2015 10:59:04 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35334) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YhfpC-0002Vk-DR for qemu-devel@nongnu.org; Mon, 13 Apr 2015 10:58:58 -0400 Date: Mon, 13 Apr 2015 15:58:33 +0100 From: "Dr. David Alan Gilbert" Message-ID: <20150413145833.GA27229@work-vm> References: <1424883128-9841-1-git-send-email-dgilbert@redhat.com> <1424883128-9841-31-git-send-email-dgilbert@redhat.com> <20150323042012.GN25043@voom.fritz.box> <20150326110517.GA2370@work-vm> <551909CA.7080605@redhat.com> <20150413113506.GB2275@work-vm> <552BC3FC.3020505@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <552BC3FC.3020505@redhat.com> Subject: Re: [Qemu-devel] [PATCH v5 30/45] Postcopy: Postcopy startup in migration thread List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: aarcange@redhat.com, yamahata@private.email.ne.jp, quintela@redhat.com, qemu-devel@nongnu.org, amit.shah@redhat.com, yanghy@cn.fujitsu.com, David Gibson * Paolo Bonzini (pbonzini@redhat.com) wrote: > > > On 13/04/2015 13:35, Dr. David Alan Gilbert wrote: > >>>>>>> + qemu_system_wakeup_request(QEMU_WAKEUP_REASON_OTHER); > >>>>>>> > >>> > > + *old_vm_running = runstate_is_running(); > >>>>> > >> > > >>>>> > >> > I think that needs some explanation. Why are you doing a wakeup on > >>>>> > >> > the source host? > >>> > > This matches the existing code in migration_thread for the end of precopy; > >>> > > Paolo's explanation of what it does is here: > >>> > > https://lists.gnu.org/archive/html/qemu-devel/2014-08/msg04880.html > >> > > >> > The more I look at it, the more I'm convinced it's working by chance or > >> > not working at all. > > Do you mean in general or in the postcopy case? > > In general. OK, then lets take this off this thread and fix it generally and just make sure postcopy is consistent with whatever that change is. > > > Here we probably need to do only the notifier_list_notify + > > > qapi_event_send_wakeup. > > > > Do you mean a : > > wakeup_reason = QEMU_WAKEUP_REASON_OTHER; > > notifier_list_notify(&wakeup_notifiers, &wakeup_reason); > > wakeup_reason = QEMU_WAKEUP_REASON_NONE; > > qapi_event_send_wakeup(&error); > > > > which I guess would need wrapping up in vl.c > > Yes. > > > (It's not really clear to me what this stuff does even with > > your previous explanation; if it's to do with migrating > > something suspended-to-ram I guess a postcopy is possible > > but it doesn't seem that sensible to use postcopy for a > > machine with a CPU that isn't running). > > Yes, but management does not know in advance that the machine will > suspend to RAM. It's basically a race. OK, reasonable. Dave > > Paolo -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK