[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v15 2/9] Add XBZRLE documentation
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v15 2/9] Add XBZRLE documentation |
Date: |
Thu, 05 Jul 2012 07:24:20 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1 |
On 07/05/2012 06:51 AM, Orit Wasserman wrote:
> Signed-off-by: Orit Wasserman <address@hidden>
> ---
> docs/xbzrle.txt | 136
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 136 insertions(+), 0 deletions(-)
> create mode 100644 docs/xbzrle.txt
>
> +
> +Example
> +old buffer:
> +1001 zeros
> +05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 00 00 6b 00 6d
> +3074 zeros
This _still_ doesn't add up to 4096:
1001 + 20 + 3074 = 4095
> +
> +new buffer:
> +1001 zeros
> +01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 00 00 67 00 69
> +3704 zeros
Still a transposition error.
Also, this still has the flaw that it is too weak of an example - the
only unchanged bytes happen to also be zero bytes to begin with; it
would be much nicer if the example included at least one non-zero byte
that did not change between old and new.
> +
> +encoded buffer:
> +
> +encoded length 24
> +e9 07 0f 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 03 01 67 01 01 69
^^
That says you have a zrun of 3 bytes, but the example only shows a zrun
of 2 bytes.
It feels like I'm pulling teeth to get a good example. If you will just
squash in the following (hand-written) diff below, you will then have
4096 bytes in both old and new buffers, and your encoded buffer listing
a zrun of 3 will be correct, plus you will be demonstrating a non-zero
byte that remained unchanged.
@@ ???,??? @@
Example
old buffer:
1001 zeros
-05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 00 00 6b 00 6d
+05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 68 00 00 6b 00 6d
3074 zeros
new buffer:
1001 zeros
-01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 00 00 67 00 69
-3704 zeros
+01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 68 00 00 67 00 69
+3074 zeros
encoded buffer:
--
Eric Blake address@hidden +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH v15 0/9] XBZRLE delta for live migration of large memory app, Orit Wasserman, 2012/07/05
- [Qemu-devel] [PATCH v15 1/9] Add migration capabilities, Orit Wasserman, 2012/07/05
- [Qemu-devel] [PATCH v15 4/9] Add uleb encoding/decoding functions, Orit Wasserman, 2012/07/05
- [Qemu-devel] [PATCH v15 5/9] Change ram_save_block to return -1 if there are no more changes, Orit Wasserman, 2012/07/05
- [Qemu-devel] [PATCH v15 6/9] Add xbzrle_encode_buffer and xbzrle_decode_buffer functions, Orit Wasserman, 2012/07/05
- [Qemu-devel] [PATCH v15 3/9] Add cache handling functions, Orit Wasserman, 2012/07/05
- [Qemu-devel] [PATCH v15 2/9] Add XBZRLE documentation, Orit Wasserman, 2012/07/05
- Re: [Qemu-devel] [PATCH v15 2/9] Add XBZRLE documentation,
Eric Blake <=
- [Qemu-devel] [PATCH v15 7/9] Add XBZRLE to ram_save_block and ram_save_live, Orit Wasserman, 2012/07/05
- [Qemu-devel] [PATCH v15 8/9] Add set_cachesize command, Orit Wasserman, 2012/07/05
- [Qemu-devel] [PATCH v15 9/9] Add XBZRLE statistics, Orit Wasserman, 2012/07/05