Il 26/11/2013 14:53, Lei Li ha scritto:
> 1) ram_save_setup stage, it will send all the bytes in this stages
>    to destination, and send_pipefd by ram_control_before_iterate
>    at the end of it.

ram_save_setup runs doesn't send anything from guest RAM.  It sends the
lengths of the various blocks.  As you said, at the end of
ram_save_setup you send the pipefd.

ram_save_iterate runs before ram_save_complete.  ram_save_iterate and
ram_save_complete write data with exactly the same format.  Both of them
can use ram_save_page

It should not matter if some pages are sent as part of ram_save_iterate
and others as part of ram_save_complete.

One possibility is that you are hitting a bug due to the way you ignore
the "0x01" byte that send_pipefd places on the socket.

>> Oops.  I might have said this before thinking about postcopy and/or
>> before seeing the benchmark results from Juan's patches.  If this part
>> of the patch is just an optimization, I'd rather leave it out for now.
> 
> I am afraid that page flipping can not proceed correctly without this..

I really would like to understand why, because it really shouldn't (this
shouldn't be a place where you need a hook).

Paolo


Reply via email to