From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37404) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZkZcF-0006MC-39 for qemu-devel@nongnu.org; Fri, 09 Oct 2015 11:29:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZkZcB-0000ev-KG for qemu-devel@nongnu.org; Fri, 09 Oct 2015 11:29:50 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39913) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZkZcB-0000c3-0f for qemu-devel@nongnu.org; Fri, 09 Oct 2015 11:29:47 -0400 Date: Fri, 9 Oct 2015 16:29:42 +0100 From: "Dr. David Alan Gilbert" Message-ID: <20151009152942.GF2702@work-vm> References: <008b01d101be$0228d720$067a8560$@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <008b01d101be$0228d720$067a8560$@samsung.com> Subject: Re: [Qemu-devel] Live migration sequence List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Pavel Fedin Cc: 'QEMU' * Pavel Fedin (p.fedin@samsung.com) wrote: > Hello! > > I would like to clarify, what is the exact live migration sequence in qemu? > > I mean - there are pre_save and post_load callbacks for VMState structures. Is there any determined > order of calling them related to memory contents migration? In other words, is there any guarantee > that pre_save is called before RAM migrates, and post_load is called after RAM migrates? The pre_load/pre_save and post_load relate to the particular VMState the functions are attached to; so if you use them on a VMState of a particular device the only thing you know is that the pre_save is called just before the system writes the description out; and on loading the pre_load is called just before it reads the data, and post_load just after it's read the data. Ordering relating to RAM is a separate question; in general RAM is normally loaded before all of the non-iterative devices. > The answer to this question is important for developing vITS live migration, where i have to dump > internal ITS state into in-memory tables before the migration starts, and then get it back in cache > on destination. What's an ITS ? With a related question, how big are the tables and can it change during the iterated part of the migrate? Dave > > Kind regards, > Pavel Fedin > Expert Engineer > Samsung Electronics Research center Russia > > > > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK