From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:42697) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SwteA-000315-Ps for qemu-devel@nongnu.org; Thu, 02 Aug 2012 07:33:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Swte5-0001yL-EL for qemu-devel@nongnu.org; Thu, 02 Aug 2012 07:32:54 -0400 Received: from mx1.redhat.com ([209.132.183.28]:18070) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Swte5-0001xm-6H for qemu-devel@nongnu.org; Thu, 02 Aug 2012 07:32:49 -0400 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q72BWlwj009533 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 2 Aug 2012 07:32:48 -0400 Received: from dhcp-1-120.tlv.redhat.com (vpn-201-236.tlv.redhat.com [10.35.201.236]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q72BWit0010952 for ; Thu, 2 Aug 2012 07:32:46 -0400 Message-ID: <501A656B.5090708@redhat.com> Date: Thu, 02 Aug 2012 14:32:59 +0300 From: Orit Wasserman MIME-Version: 1.0 References: <1343844079-2949-1-git-send-email-quintela@redhat.com> <1343844079-2949-11-git-send-email-quintela@redhat.com> <50197EA3.4010209@redhat.com> In-Reply-To: <50197EA3.4010209@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 10/11] Add XBZRLE statistics List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On 08/01/2012 10:08 PM, Eric Blake wrote: > On 08/01/2012 12:01 PM, Juan Quintela wrote: >> From: Orit Wasserman >> >> 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 >> --- >> arch_init.c | 28 ++++++++++++++++++++++++++++ >> hmp.c | 13 +++++++++++++ >> migration.c | 17 +++++++++++++++++ >> migration.h | 4 ++++ >> qapi-schema.json | 28 +++++++++++++++++++++++++++- >> qmp-commands.hx | 36 +++++++++++++++++++++++++++++++++++- >> 6 files changed, 124 insertions(+), 2 deletions(-) >> > >> ## >> +# @XBZRLECacheStats >> +# >> +# Detailed XBZRLE migration cache statistics >> +# >> +# @cache-size: XBZRLE cache size >> +# >> +# @xbzrle-bytes: amount of bytes already transferred to the target VM >> +# >> +# @xbzrle-pages: amount of pages transferred to the target VM >> +# >> +# @xbzrle-cache-miss: @optional, 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' } } > > Given that this struct already has xbzrle in the name, do all the fields > need to repeat that information? I will remove it. > >> +++ b/qmp-commands.hx >> @@ -2128,7 +2128,17 @@ The main json-object contains the following: >> - "transferred": amount transferred (json-int) >> - "remaining": amount remaining (json-int) >> - "total": total (json-int) >> - >> +- "xbzrle-cache": only present if XBZRLE is active. >> + It is a json-object with the following XBZRLE information: >> + - "cache-size": XBZRLE cache size >> + - "xbzrle-bytes": total XBZRLE bytes transferred, only present if >> + status is "active" or "completed" >> + - "xbzrle-pages": number of XBZRLE compressed pages, only present if >> + status is "active" or "completed" >> + - "cache-miss": number of cache misses, only present if > > s/cache-miss/xbzrle-cache-miss/ (unless you heed my earlier complaint, > then s/xbzrle-bytes/bytes/ instead) > >> + status is "active" or "completed" >> + - "overflow": number of XBZRLE overflows, only present if > > s/overflow/xbzrle-overflow/ > >> + status is "active" or "completed" > > Given that the overall 'xbzrle-cache' struct is already documented as > present when XBZRLE is active, do you need to also document that the > subfields are present when active or completed? I will remove the comment Orit > >> Examples: >> >> 1. Before the first migration >> @@ -2196,6 +2206,30 @@ Examples: >> } >> } >> >> +6. Migration is being performed and XBZRLE is active: >> + >> +-> { "execute": "query-migrate" } >> +<- { >> + "return":{ >> + "status":"active", >> + "capabilities" : [ { "capability": "xbzrle", "state" : true } ], >> + "ram":{ >> + "total":1057024, >> + "remaining":1053304, >> + "transferred":3720, >> + "duplicate": 10, >> + "normal" : 3333 > > Inconsistent spacing around these ':'. > >> + }, >> + "cache":{ > > s/cache/xbzrle-cache/ > >> + "cache-size": 1024 > > s/ 1024/1024,/ > >> + "xbzrle-transferred":20971520, >> + "xbzrle-pages":2444343, >> + "xbzrle-cache-miss":2244, >> + "xbzrle-overflow":34434 > > and if you take my earlier comments, these lines would change too. >