qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: "Shribman, Aidan" <aidan.shribman@sap.com>
Cc: Blue Swirl <blauwirbel@gmail.com>,
	Stefan Hajnoczi <stefanha@gmail.com>, Avi Kivity <avi@redhat.com>,
	"libvir-list@redhat.com" <libvir-list@redhat.com>,
	qemu-devel Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH v4] XBZRLE delta for live migration of large memory apps
Date: Thu, 11 Aug 2011 08:00:20 -0500	[thread overview]
Message-ID: <4E43D264.8000505@codemonkey.ws> (raw)
In-Reply-To: <AB5A8C7661872E428D6B8E1C2DFA35085D84C77743@DEWDFECCR02.wdf.sap.corp>

On 08/11/2011 03:03 AM, Shribman, Aidan wrote:
>> From: Anthony Liguori [mailto:anthony@codemonkey.ws]
>> Sent: Wednesday, August 10, 2011 10:28 PM
>> To: Avi Kivity
>> Cc: Blue Swirl; Stefan Hajnoczi; Shribman, Aidan; qemu-devel
>> Developers; libvir-list@redhat.com
>> 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	other threads:[~2011-08-11 13:00 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-08  8:42 [Qemu-devel] [PATCH v4] XBZRLE delta for live migration of large memory apps Shribman, Aidan
2011-08-08 13:29 ` Anthony Liguori
2011-08-08 13:41   ` Alexander Graf
2011-08-08 13:46     ` Anthony Liguori
2011-08-08 13:49     ` Avi Kivity
2011-08-08 13:51   ` Avi Kivity
2011-08-08 14:15     ` Anthony Liguori
2011-08-08 14:23       ` Avi Kivity
2011-08-08 14:33         ` Anthony Liguori
2011-08-08 14:39           ` Avi Kivity
2011-08-08 15:08             ` Anthony Liguori
2011-08-08 14:04   ` [Qemu-devel] [libvirt] " Daniel P. Berrange
2011-08-08 14:42     ` Avi Kivity
2011-08-08 14:46 ` [Qemu-devel] " Avi Kivity
2011-08-08 14:47   ` Avi Kivity
2011-08-08 14:56     ` Stefan Hajnoczi
2011-08-08 15:01       ` Avi Kivity
2011-08-08 15:10     ` Anthony Liguori
2011-08-08 15:15       ` Avi Kivity
2011-08-08 16:19         ` Anthony Liguori
2011-08-08 16:53           ` Avi Kivity
2011-08-08 16:55             ` Anthony Liguori
2011-08-10 15:07               ` Shribman, Aidan
2011-08-10 15:12                 ` Avi Kivity
2011-08-10 15:58                   ` Anthony Liguori
2011-08-10 16:08                     ` Avi Kivity
2011-08-10 16:23                       ` Anthony Liguori
2011-08-10 16:40                         ` Avi Kivity
2011-08-10 19:27                           ` Anthony Liguori
2011-08-11  8:03                             ` Shribman, Aidan
2011-08-11 13:00                               ` Anthony Liguori [this message]
2011-08-11  8:17                             ` Avi Kivity
2011-08-11  9:16                               ` [Qemu-devel] [libvirt] " Daniel P. Berrange
2011-08-11  9:20                                 ` Avi Kivity
2011-08-11 13:03                               ` [Qemu-devel] " Anthony Liguori
2011-08-11  9:24                             ` [Qemu-devel] [libvirt] " Daniel P. Berrange

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E43D264.8000505@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=aidan.shribman@sap.com \
    --cc=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=libvir-list@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).