qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 03/11] Add XBZRLE documentation


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH 03/11] Add XBZRLE documentation
Date: Mon, 06 Aug 2012 09:41:10 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120717 Thunderbird/14.0

On 08/05/2012 03:13 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
> 
> diff --git a/docs/xbzrle.txt b/docs/xbzrle.txt
> new file mode 100644
> index 0000000..ce577a9
> --- /dev/null
> +++ b/docs/xbzrle.txt
> @@ -0,0 +1,136 @@
> +XBZRLE (Xor Based Zero Run Length Encoding)
> +===========================================
> +
> +Using XBZRLE (Xor Based Zero Run Length Encoding) allows for the reduction
> +of VM downtime and the total live-migration time of Virtual machines.
> +It is particularly useful for virtual machines running memory write intensive
> +workloads that are typical of large enterprise applications such as SAP ERP
> +Systems, and generally speaking for any application that uses a sparse memory
> +update pattern.
> +
> +Instead of sending the changed guest memory page this solution will send a
> +compressed version of the updates, thus reducing the amount of data sent 
> during
> +live migration.
> +In order to be able to calculate the update, the previous memory pages need 
> to
> +be stored on the source. Those pages are stored in a dedicated cache
> +(hash table) and are
> +accessed by their address.

Line wrapping looks weird here; you may want to rewrap this whole paragraph.


> +Migration Capabilities
> +======================
> +In order to use XBZRLE the destination QEMU version should be able to
> +decode the new format.
> +Adding a new migration capabilities command that will allow external 
> management
> +to query for it support.
> +A typical use for the destination
> +    {qemu} info migrate_supported_capabilities
> +    {qemu} xbzrle, ...

Given my comments on 2/11, this would be:

{qemu} info migrate_capabilities
{qemu} xbzrle off, ...

> +
> +In order to enable capabilities for future live migration,
> +a new command migrate_set_capability is introduced:
> +    {qemu} migrate_set_capability xbzrle

Based on my reading of 2/11, this must be:

{qemu} migrate_set_capability xbzrle on

But then you go ahead and repeat this information down below; I wonder
if you can simplify things by merging 'Migration Capabilities' and
'Usage' into one section, with just one example.

> +
> +Usage
> +======
> +
> +1. Activate xbzrle

On both source and destination.

> +2. Set the XBZRLE cache size - the cache size is in MBytes and should be a
> +power of 2. The cache default value is 64MBytes.

On source only.

> +3. start outgoing migration
> +
> +A typical usage scenario:
> +On the incoming QEMU:
> +    {qemu} migrate_set_capability xbzrle on

If you are going to merge examples, then showing the initial query of
capabilities prior to setting anything might be nice.

> +On the outgoing QEMU:
> +    {qemu} migrate_set_capability xbzrle on
> +    {qemu} migrate_set_cache_size 256m
> +    {qemu} migrate -d tcp:destination.host:4444
> +    {qemu} info migrate
> +    ...
> +    cache size: 67108864 bytes
> +    transferred ram-duplicate: A kbytes
> +    transferred ram-normal: B kbytes
> +    transferred ram-xbrle: C kbytes
> +    overflow ram-xbrle: D pages
> +    cache-miss ram-xbrle: E pages

Names such as 'ram-xbrle' do not match the code in the remainder of this
series; make sure this example is accurate.

-- 
Eric Blake   address@hidden    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]