From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44949) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VCQVb-0007A6-8A for qemu-devel@nongnu.org; Thu, 22 Aug 2013 04:44:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VCQVU-0008DH-No for qemu-devel@nongnu.org; Thu, 22 Aug 2013 04:44:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:27674) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VCQVU-0008Cy-F2 for qemu-devel@nongnu.org; Thu, 22 Aug 2013 04:44:40 -0400 Message-ID: <5215D001.4060000@redhat.com> Date: Thu, 22 Aug 2013 10:46:57 +0200 From: Laszlo Ersek MIME-Version: 1.0 References: <1376960839-13033-1-git-send-email-gaowanlong@cn.fujitsu.com> <1376960839-13033-2-git-send-email-gaowanlong@cn.fujitsu.com> <52152A36.80705@redhat.com> <52156592.1000905@cn.fujitsu.com> <52157770.7030803@redhat.com> <5215829F.2090006@cn.fujitsu.com> In-Reply-To: <5215829F.2090006@cn.fujitsu.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH V8 01/11] NUMA: add NumaOptions, NumaNodeOptions and NumaMemOptions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: aliguori@us.ibm.com, ehabkost@redhat.com, hutao@cn.fujitsu.com, qemu-devel@nongnu.org, lcapitulino@redhat.com, bsd@redhat.com, pbonzini@redhat.com, y-goto@jp.fujitsu.com, peter.huangpeng@huawei.com, afaerber@suse.de, gaowanlong@cn.fujitsu.com On 08/22/13 05:16, Wanlong Gao wrote: > On 08/22/2013 10:29 AM, Eric Blake wrote: >> On 08/21/2013 07:12 PM, Wanlong Gao wrote: >> >>>>> + '*mem': 'str' }} >>>> >>>> Why is size passed as a 'str' instead of an integral type? If anything, >>>> at the QMP layer, it should be an integer representing size in bytes >>>> (the command line and HMP are already capable of converting shorthand >>>> like 1G into proper byte counts for use in QAPI). >>> >>> Since the original "mem" options is MB default, but "size" type is byte default, >>> so we should pass a "str" first to be consistent with original option. >> >> No. HMP is human-friendly - it can default to M. QMP is >> machine-friendly - it should default to bytes and take an 'int' rather >> than a 'str'. Part of the glue between HMP and QMP is converting from >> human-friendly to machine-friendly, so that QMP doesn't have to carry cruft. > > This "mem" options is only for command line options, I can't understand you > are saying QMP command here. Because the original "mem" option treat "1024" > as "1024MB", but if I set this to "size" type, this "mem" options will > treat "1024" as "124B". So I should pass a str first and make it to "MB" > default in the options parse function to be consistent with original one. Yes. This part of the schema is not for exposure over QMP, it just generates stuff for OptsVisitor, and it must remain compatible with the original, manual parsing of the option. This came up for V6: http://thread.gmane.org/gmane.comp.emulators.qemu/225678/focus=225714 Laszlo