|
From: | Avi Kivity |
Subject: | Re: [Qemu-devel] Re: [PATCH 0/4] Machine config files |
Date: | Tue, 07 Jul 2009 08:00:36 +0300 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1b3pre) Gecko/20090513 Fedora/3.0-2.3.beta2.fc11 Thunderbird/3.0b2 |
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.
[Prev in Thread] | Current Thread | [Next in Thread] |