[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCHv3 5/9] migration: search for zero instead of dup
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCHv3 5/9] migration: search for zero instead of dup pages |
Date: |
Thu, 21 Mar 2013 13:24:13 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4 |
On 03/21/2013 09:57 AM, Peter Lieven wrote:
> virtually all dup pages are zero pages. remove
> the special is_dup_page() function and use the
> optimized buffer_find_nonzero_offset() function
> instead.
>
> here buffer_find_nonzero_offset() is used directly
> to avoid the unnecssary additional checks in
> buffer_is_zero().
>
> Signed-off-by: Peter Lieven <address@hidden>
> ---
> - return 1;
> + return
> + buffer_find_nonzero_offset(p, TARGET_PAGE_SIZE) == TARGET_PAGE_SIZE;
Unusual layout. I would have written:
return buffer_find_nonzero_offset(p, TARGET_PAGE_SIZE) ==
TARGET_PAGE_SIZE;
> /* struct contains XBZRLE cache and a static page
> @@ -443,7 +434,7 @@ static int ram_save_block(QEMUFile *f, bool last_stage)
>
> /* In doubt sent page as normal */
> bytes_sent = -1;
> - if (is_dup_page(p)) {
> + if (is_zero_page(p)) {
> acct_info.dup_pages++;
> bytes_sent = save_block_hdr(f, block, offset, cont,
> RAM_SAVE_FLAG_COMPRESS);
I would move the change for qemu_put_byte(f, 0) out of patch 7 into this
patch, since this is the first point where you know the byte to send is 0.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCHv3 8/9] migration: do not search dirty pages in bulk stage, (continued)
- [Qemu-devel] [PATCHv3 8/9] migration: do not search dirty pages in bulk stage, Peter Lieven, 2013/03/21
- [Qemu-devel] [PATCHv3 7/9] migration: do not sent zero pages in bulk stage, Peter Lieven, 2013/03/21
- [Qemu-devel] [PATCHv3 2/9] cutils: add a function to find non-zero content in a buffer, Peter Lieven, 2013/03/21
- [Qemu-devel] [PATCHv3 9/9] migration: use XBZRLE only after bulk stage, Peter Lieven, 2013/03/21
- [Qemu-devel] [PATCHv3 5/9] migration: search for zero instead of dup pages, Peter Lieven, 2013/03/21
- Re: [Qemu-devel] [PATCHv3 5/9] migration: search for zero instead of dup pages,
Eric Blake <=
- [Qemu-devel] [PATCHv3 6/9] migration: add an indicator for bulk state of ram migration, Peter Lieven, 2013/03/21
- [Qemu-devel] [PATCHv3 3/9] buffer_is_zero: use vector optimizations if possible, Peter Lieven, 2013/03/21