|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [RFC PATCH 0/4] Fix subsection ambiguity in the migration format |
Date: | Sun, 31 Jul 2011 16:03:18 -0500 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Lightning/1.0b2 Thunderbird/3.1.10 |
On 07/31/2011 03:57 PM, Dor Laor wrote:
On 07/31/2011 11:43 PM, Anthony Liguori wrote:ps: how hard is to finish the vmstate conversion? Can't we just assume not converted code is not functional and just remove all of it?No. VMState is a solution looking for a problem. Many important deviceThe initial target solved some rare bugs, that tend not to bite us with virtio. On the way, it got enhanced with subsections that was a major improvement.
I should have qualified my statement. VMState did solve many real problems. I meant that at this point in time, we've gotten pretty much what we can get out it.
models are still not converted and ultimately, it doesn't solve the problem we're really trying to solve.From the start I supported Michael Tisrkin's idea for ASN.1 protocol. The question is how visitors and ability to translate from one representation to another will help us.
Because with Visitors you can do:Devices -> internal QObject representation -> ASN.1 -> wire -> ASN.1 -> internal QObject representation -> Device.
While it's in an internal representation, we can make large changes like translating entire device state structures to new formats, splitting one device into two, etc.
It's sort of the ultimate mechanism to make compatibility changes. If you just go Devices -> ASN.1, you miss out on that.
BTW, another really useful thing that Visitor would enable is the ability to read an individual device to a QObject and implement the equivalent of 'show devicename' which dumps the state of arbitrary devices via QMP. This could be very useful for debugging.
I do see value in it but I don't think it is that important. If we have one real device serialization method that is flexible enough we can stick with it w/o translation. If we define qdev serialization into vmstate/asn.1/json/other and add some capability negotiation and various other goodies it should be enough. btw: separating the live migration protocol from the machine state is even more important if we take a gradual approach.
Yeah, I think the critical technical requirement to achieve this is that the devices need to generate their own serialization format, and then another layer translates that to the "live migration protocol" format.
Regards, Anthony Liguori
Regards, Anthony LiguoriRegards, Anthony Liguori
[Prev in Thread] | Current Thread | [Next in Thread] |