qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Markus Armbruster <armbru@redhat.com>,
	qemu-devel@nongnu.org, Gerd Hoffmann <kraxel@redhat.com>,
	Paul Brook <paul@codesourcery.com>
Subject: Re: [Qemu-devel] Re: [PATCH 0/4] Machine config files
Date: Tue, 07 Jul 2009 08:00:36 +0300	[thread overview]
Message-ID: <4A52D674.4020505@redhat.com> (raw)
In-Reply-To: <4A528516.4020402@codemonkey.ws>

On 07/07/2009 02:13 AM, Anthony Liguori wrote:
> Paul Brook wrote:
>>> Most importantly, machine config should not be sent until non-live
>>> migration kicks in.  At this point, the device tree is stable because
>>> the guest isn't running.  The device tree should be the first section
>>> saved for non-live migration.
>>
>> RAM is part of the machine config, and can be hotplugged[1], so you 
>> need at least that before you start transferring anything.
>
> You really don't.  The ram_load_live handler should receive RAM as it 
> comes in and maintain a growable buffer for all the independently 
> transferred regions.  A nice property of live migration is that you'll 
> get the whole region at once so something simple based on realloc() 
> will work well.
>

It's doable but it looks like we're implementing things twice.  If we 
have memory/vga hotplug, then we already support all of this at the 
hotplug level.  All we need to do is send the hotplug command over.

It occured to me that except for RAM we can migrate using the monitor 
protocol.  Start by serializing the qdev tree into an object and create 
the target machine from that.  Additional hotplug commands during the 
migration are simply forwarded to the other side.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

  reply	other threads:[~2009-07-07  5:02 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-10 17:38 [Qemu-devel] [PATCH 0/4] Machine config files Paul Brook
2009-06-10 17:38 ` [Qemu-devel] [PATCH 1/4] Include and build libfdt Paul Brook
2009-06-10 19:08   ` Glauber Costa
2009-06-10 19:23     ` Anthony Liguori
2009-06-10 19:27     ` Paul Brook
2009-06-10 19:41       ` Glauber Costa
2009-06-10 20:38         ` Paul Brook
2009-06-10 22:32       ` Edgar E. Iglesias
2009-06-10 19:34     ` Blue Swirl
2009-06-10 17:38 ` [Qemu-devel] [PATCH 2/4] Add device tree machine Paul Brook
2009-06-10 18:30   ` Blue Swirl
2009-06-10 19:10     ` Paul Brook
2009-06-11 13:22   ` Gerd Hoffmann
2009-06-11 13:33   ` Gerd Hoffmann
2009-06-11 13:39     ` Paul Brook
2009-06-11 14:22       ` Gerd Hoffmann
2009-06-12 16:25   ` Markus Armbruster
2009-06-10 17:38 ` [Qemu-devel] [PATCH 3/4] Stellaris machine config Paul Brook
2009-06-11  8:21   ` M P
2009-06-11 16:32     ` Jamie Lokier
2009-06-12  8:29       ` Gerd Hoffmann
2009-06-12 13:56         ` Markus Armbruster
2009-06-12 13:53       ` Markus Armbruster
2009-06-12 15:25         ` Jamie Lokier
2009-06-10 17:38 ` [Qemu-devel] [PATCH 4/4] Integrator " Paul Brook
2009-06-11  9:54 ` [Qemu-devel] [PATCH 0/4] Machine config files Gerd Hoffmann
2009-06-11 12:53 ` Gerd Hoffmann
2009-06-11 13:18   ` Paul Brook
2009-06-11 14:35     ` Gerd Hoffmann
2009-06-12  7:51     ` Kevin Wolf
2009-06-12 13:49       ` Markus Armbruster
2009-06-12 14:22         ` Kevin Wolf
2009-06-12 14:40           ` Markus Armbruster
2009-06-12 15:02           ` Anthony Liguori
2009-06-12 15:29             ` Kevin Wolf
2009-06-12 16:35             ` Blue Swirl
2009-06-12 13:37 ` Markus Armbruster
2009-06-12 14:44   ` Gerd Hoffmann
2009-06-12 15:58     ` Markus Armbruster
2009-06-12 16:11     ` [Qemu-devel] " Jan Kiszka
2009-07-06 12:49       ` Michael S. Tsirkin
2009-07-06 13:43         ` Gerd Hoffmann
2009-07-06 13:56           ` Michael S. Tsirkin
2009-07-06 14:01             ` Michael S. Tsirkin
2009-07-06 14:40               ` Gerd Hoffmann
2009-07-06 16:12                 ` Avi Kivity
2009-07-06 16:27                   ` Gerd Hoffmann
2009-07-06 16:37                     ` Avi Kivity
2009-07-06 16:44                       ` Michael S. Tsirkin
2009-07-07  4:47                         ` Avi Kivity
2009-07-06 16:47                       ` Paul Brook
2009-07-07  5:01                         ` Avi Kivity
2009-07-06 17:28                       ` Anthony Liguori
2009-07-06 22:39                         ` Paul Brook
2009-07-06 23:13                           ` Anthony Liguori
2009-07-07  5:00                             ` Avi Kivity [this message]
2009-07-07  5:23                             ` Avi Kivity
2009-07-07  4:56                         ` Avi Kivity
2009-07-07  6:19                         ` Michael S. Tsirkin
2009-07-06 14:24             ` Gerd Hoffmann
2009-07-06 14:31               ` Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A52D674.4020505@redhat.com \
    --to=avi@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=armbru@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kraxel@redhat.com \
    --cc=mst@redhat.com \
    --cc=paul@codesourcery.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).