Am 01.02.2013 18:03, schrieb Paolo Bonzini:
> Il 31/01/2013 09:33, Orit Wasserman ha scritto:
>>>> If my above assumption that the guest reads unmapped memory as zeroes is 
>>>> right, this mapping
>>>> is not necessary in the case of a zero dup page.
>>>>
>>>> We just have to make sure that we are still in the very first round when 
>>>> deciding not to sent
>>>> a zero page, because otherwise it could be a page that has become zero 
>>>> during migration and
>>>> this of course has to be transferred.
>> OK, so if we won't send the pages than it won't be allocate in the dst and 
>> it can improve both 
>> memory usage and reduce cpu consumption on it.
>> That can be good for over commit scenario.
> 
> We don't allocate zero pages in the destination:
> 
> #ifndef _WIN32
>             if (ch == 0 &&
>                 (!kvm_enabled() || kvm_has_sync_mmu()) &&
>                 getpagesize() <= TARGET_PAGE_SIZE) {
>                 qemu_madvise(host, TARGET_PAGE_SIZE, QEMU_MADV_DONTNEED);
>             }
> #endif

Sorry I was not aware of this. So the only possible benefit left would be to 
not sent zero pages in
the first round at all which would avoid the 9 bytes (header + ch) per page + 
memset and madvise on the target.

Peter


> 
> Paolo
> 


Reply via email to