Il 01/03/2013 14:52, Eric Blake ha scritto:
> On 03/01/2013 06:31 AM, Peter Lieven wrote:
>> at the beginning of migration all pages are marked dirty and
>> in the first round a bulk migration of all pages is performed.
>>
>> currently all these pages are copied to the page cache regardless
>> if there are frequently updated or not. this doesn't make sense
>> since most of these pages are never transferred again.
>>
>> this patch changes the XBZRLE transfer to only be used after
>> the bulk stage has been completed. that means a page is added
>> to the page cache the second time it is transferred and XBZRLE
>> can benefit from the third time of transfer.
>>
>> since the page cache is likely smaller than the number of pages
>> its also likely that in the second round the page is missing in the
>> cache due to collisions in the bulk phase.
>>
>> on the other hand a lot of unneccssary mallocs, memdups and frees
> 
> s/unneccssary/unnecessary/
> 
>> are saved.
>>
>> Signed-off-by: Peter Lieven <p...@kamp.de>
> 
> Do you have any benchmark numbers?  At any rate, the explanation seems
> sound, so a benchmark should show this.

It probably would be much less of a problem with the pending patches to
move RAM migration out of the big QEMU lock.  However, the explanation
makes sense.

Paolo

>> ---
>>  arch_init.c |    5 ++++-
>>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> Reviewed-by: Eric Blake <ebl...@redhat.com>
> 


Reply via email to