qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v4] XBZRLE delta for live migration of large mem


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH v4] XBZRLE delta for live migration of large memory apps
Date: Thu, 11 Aug 2011 08:00:20 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Lightning/1.0b2 Thunderbird/3.1.10

On 08/11/2011 03:03 AM, Shribman, Aidan wrote:
From: Anthony Liguori [mailto:address@hidden
Sent: Wednesday, August 10, 2011 10:28 PM
To: Avi Kivity
Cc: Blue Swirl; Stefan Hajnoczi; Shribman, Aidan; qemu-devel
Developers; address@hidden
Subject: Re: [Qemu-devel] [PATCH v4] XBZRLE delta for live migration of
large memory apps

a) A query-migration-caps command that returns a dict with two lists of
strings.  Something like:

{ 'execute': 'query-migration-caps' }
{ 'return' : { 'capabilities': [ 'xbzrle' ], 'current': [] } }

b) A set-migration-caps command that takes a list of strings.  It
simply
takes the intersection of the capabilities set with the argument and
sets the current set to the result.  Something like:

{ 'execute': 'set-migration-caps', 'arguments': { 'set': [ 'xbzrle' ]
}}
{ 'return' : {} }

We may want to further sub-divide capabilities into categories:
{ 'execute': 'query-migration-caps' }
{ 'return' :
   { 'encoding' : { 'current', 'asn.1', 'proto2', 'thrift', etc. } },
   { 'delta' : { 'xbzrle', "xdelta", ...} },
   { 'compression' : { 'snappy', 'lzo' } } }
This would help libvirt/management to select features automatically or manually 
(via UI) without having to 'understand' the any given capability meaning.

I would prefer caps to be mostly transparent to libvirt. In fact, I'd like to see exactly three caps: xbzrle, asn1, and autonegotiate.

I'd like to move the caps negotation into the protocol itself.

Yes.  But that negotiation needs to become part of the "protocol" for
migration.  In the absence of that negotiation, we need to use the wire
protocol we use today.  We cannot have ad-hoc feature negotiation for
every change we make to the wire protocol.

Agreed. Therefore caps plus xbzrle could be added before ASN.1/v1.0 without 
breaking anything as long as when 'set-migration-caps' is not issued Qemu uses 
the current protocol.

Exactly.

Regards,

Anthony Liguori

Aidan





reply via email to

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