From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:47531) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QqRTm-00084G-Ms for qemu-devel@nongnu.org; Mon, 08 Aug 2011 11:11:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QqRTi-0008TJ-Ko for qemu-devel@nongnu.org; Mon, 08 Aug 2011 11:10:55 -0400 Received: from mail-pz0-f42.google.com ([209.85.210.42]:53177) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QqRTi-0008TF-GC for qemu-devel@nongnu.org; Mon, 08 Aug 2011 11:10:54 -0400 Received: by pzk37 with SMTP id 37so3148609pzk.29 for ; Mon, 08 Aug 2011 08:10:53 -0700 (PDT) Message-ID: <4E3FFC7A.3090000@codemonkey.ws> Date: Mon, 08 Aug 2011 10:10:50 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <4E3FF6AE.8030004@redhat.com> <4E3FF705.9080009@redhat.com> In-Reply-To: <4E3FF705.9080009@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v4] XBZRLE delta for live migration of large memory apps List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: Blue Swirl , Stefan Hajnoczi , "Shribman, Aidan" , qemu-devel Developers On 08/08/2011 09:47 AM, Avi Kivity wrote: > On 08/08/2011 05:46 PM, Avi Kivity wrote: >> >> Please provide documentation in docs/ of the compression format. >> >> IMO it should be disabled by default (with an option to disable it, >> via, sat, migrate-set-options, so we can migrate to older hosts). >> >> The protocol should allow XBZRLE to turn itself off if it detects that >> it isn't effective. >> > > IOW, this should be part of the standard migration protocol, not some > side option that is enabled if the user remembers. It should not be > mutually exclusive with future migration extensions, including compression. Are you thinking of a static decision or a dynamic decision? I think feature negotiation would address static decision making. For dynamic decision making, you could look to something like the VNC protocol and how it encodes pixel data. The flow looks something like: 1) All clients/servers must support raw encoding 2) Client presents list of support encodings 3) Server takes intersection of client supported encodings and server supported encodings. 4) Server can choose to encode updates using any encoding supported by client and server. Regards, Anthony Liguori