qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 0/5] Migration subsections (and ide as example)


From: Juan Quintela
Subject: [Qemu-devel] Re: [PATCH 0/5] Migration subsections (and ide as example)
Date: Tue, 15 Jun 2010 16:19:14 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Anthony Liguori <address@hidden> wrote:
> On 06/15/2010 08:31 AM, Juan Quintela wrote:
>> Hi
>>
>> At the end, here is the migration subsections implementation.  As an example 
>> I ported the last
>> two ide changes to migration to work with subsections.  Notes:
>>
>> - subsections
>>    I went for qemu_peek_byte() insteadof adding a subsection part in
>>    qemu_loadvm_state() due to two reasons:
>>     - it makes mandatory that subsections came after sections (better for 
>> error messages)
>>     - it makes post_load() for the section to be run after subsections are 
>> loaded.
>>       I think that running section post_load() and then subsections can make 
>> for some subtle
>>        errors.
>>    How does it works?
>>    We have a new array of subsections at the end of each section (it can be 
>> NULL).
>>    Each subsection is composed of VMStateDescription and a test function.  
>> test function
>>    checks if subsection is needed or not.  if needed, it is just emmited.
>>    On load, we peek to see if after a section is loaded, if there is any 
>> subsection
>>    at the end, and if so, we search for it on this section subsections.
>>
>>
>> - ide: 1st revert is not clear because there has been posterior changes that 
>> I honored.
>>    only change done is that ide_dummy_transfer_stop to transfer_end_table 
>> for it to be
>>    complete.
>>
>> - testing.  In normal operation this code is not triggered (one of the 
>> reason for not wanting to
>>    sent it in the 1st place).  I used patch attached at the end to trigger 
>> it.
>>
>> Commetnts?
>>    
>
> Obviously, we can't change IDE like this but the implementation looks
> pretty sane.

Why?  nothing has been released with 0.12.[34], and that is what broke
migration in the 1st place.

> Can you add something to docs/ that explains how this
> works?  My only concern is that the code doesn't make it obvious what
> a subsection is, when to use it, and why it's safe from an
> implementation perspective.

Agreed, wanted to see if I got some comments 1st.

Will resend tomorrow with some documentantion.

> Very nice solution though.

Thanks.

Later, Juan.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]