From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44149) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SuWqq-0001kD-F2 for qemu-devel@nongnu.org; Thu, 26 Jul 2012 18:48:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SuWqp-0006ce-2x for qemu-devel@nongnu.org; Thu, 26 Jul 2012 18:48:12 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33525) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SuWqo-0006cP-Py for qemu-devel@nongnu.org; Thu, 26 Jul 2012 18:48:10 -0400 Message-ID: <5011C922.7000104@redhat.com> Date: Thu, 26 Jul 2012 16:48:02 -0600 From: Eric Blake MIME-Version: 1.0 References: <1343227834-5400-1-git-send-email-owasserm@redhat.com> <1343227834-5400-12-git-send-email-owasserm@redhat.com> In-Reply-To: <1343227834-5400-12-git-send-email-owasserm@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------enig420E7E3E866C62FD70C2AA8F" Subject: Re: [Qemu-devel] [PATCH 10/11] Add XBZRLE statistics List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Orit Wasserman Cc: peter.maydell@linaro.org, aliguori@us.ibm.com, quintela@redhat.com, stefanha@gmail.com, qemu-devel@nongnu.org, mdroth@linux.vnet.ibm.com, blauwirbel@gmail.com, Petter Svard , Benoit Hudzia , avi@redhat.com, Aidan Shribman , pbonzini@redhat.com, lcapitulino@redhat.com, chegu_vinod@hp.com This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig420E7E3E866C62FD70C2AA8F Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 07/25/2012 08:50 AM, Orit Wasserman wrote: > Signed-off-by: Benoit Hudzia > Signed-off-by: Petter Svard > Signed-off-by: Aidan Shribman > Signed-off-by: Orit Wasserman > Signed-off-by: Juan Quintela > --- > +++ b/qapi-schema.json > @@ -273,6 +273,26 @@ > { 'type': 'MigrationStats', > 'data': {'transferred': 'int', 'remaining': 'int', 'total': 'int' , > 'total_time': 'int', '*duplicate': 'int', '*normal': 'int' = } } > +## > +# @XBZRLECacheStats > +# > +# Detailed XBZRLE migration cache statistics > +# > +# @cache_size: XBZRLE cache size s/cache_size/cache-size/, and so on throughout this struct (it is new, so it should use '-' instead of '_'); especially since you already made that change in the JSON itself. > +# > +# @xbzrle_bytes: amount of bytes already transferred to the target VM > +# > +# @xbzrle_pages: amount of pages transferred to the target VM > +# > +# @xbzrle_cache_miss: number of cache miss > +# > +# @xbzrle_overflow: number of overflows > +# > +# Since: 1.2 > +## > +{ 'type': 'XBZRLECacheStats', > + 'data': {'cache-size': 'int', '*xbzrle-bytes': 'int', '*xbzrle-pages= ': 'int', > + '*xbzrle-cache-miss': 'int', '*xbzrle-overflow': 'int' } } Why are you marking four of the five fields optional here, but not in the text above? I don't think any of them should be optional. > =20 > ## > # @MigrationInfo > @@ -292,11 +312,15 @@ > # status, only returned if status is 'active' and it is a block= > # migration > # > +# @xbzrle-cache: #optional @XBZRLECacheStats containing detailed XBZRL= E > +# migration statistics (since 1.2) Now _this_ field is indeed optional - it should appear in the output only when xbzrle is enabled. You may want to mention that in the description (just like the previous field mentions that it was only available for a block migration). > +++ b/qmp-commands.hx > @@ -2106,10 +2106,16 @@ The main json-object contains the following: > - "transferred": amount transferred (json-int) > - "remaining": amount remaining (json-int) > - "total": total (json-int) > +- "cache": only present if "status" and XBZRLE is active. Naming mismatch; you named it 'xbzrle-cache' above. > + It is a json-object with the following XBZRLE information: > + - "cache-size": XBZRLE cache size > + - "xbzrle-bytes": total XBZRLE bytes transferred Just so I'm clear, is xbzrle-bytes is the number of compressed bytes sent over the wire, or the number of uncompressed bytes? Likewise, at the top level, is 'total' the number of bytes sent over the wire, or the number of bytes after decompression? That is, if I compare this field against 'total', which field will always be bigger? Knowing this will let me compute my percentage of savings due to compressed pages. > + - "xbzrle-pages": number of XBZRLE compressed pages > + - "cache-miss": number of cache misses > + - "overflow": number of XBZRLE overflows > Examples: > =20 > 1. Before the first migration > - > -> { "execute": "query-migrate" } Spurious whitespace change. --=20 Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --------------enig420E7E3E866C62FD70C2AA8F Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBCAAGBQJQEckiAAoJEKeha0olJ0NqI3wIAKYk6S5nfZBapfzwnRvArViY X4HR2kdzcOKGWPi0TX5cXApSor2aTWDoHC671SbB/j4viSsPcnixEMHG/AaRCOYM xgPodTY4r63KvTiAp6C7AB2fK6lC33Ybvu1Q27fBQWzDFCWwF4avW7w6kNniaUD0 LMB4SqxVFwFdxfv5qOm0+1kpJeZztPZEQ/Uj77ZOGQmSH2Tnk1ZVCcWLfKAdbHpJ 0NZmkA4xdimFp3l7oQgDuQJIW9/Y/lGoD6kuRqSzNBAcfof2QKRiBDGDPnBwOMlB WME0kX4zsBpkN1UF1+IlZRShCnzFIM1YzTOm7O7VUhXiDLtz+C+FXGj0UoqME3s= =42L1 -----END PGP SIGNATURE----- --------------enig420E7E3E866C62FD70C2AA8F--