From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MJ8e8-0004HP-3t for qemu-devel@nongnu.org; Tue, 23 Jun 2009 12:14:56 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MJ8e3-0004BE-Eh for qemu-devel@nongnu.org; Tue, 23 Jun 2009 12:14:55 -0400 Received: from [199.232.76.173] (port=58289 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MJ8e3-0004Aw-86 for qemu-devel@nongnu.org; Tue, 23 Jun 2009 12:14:51 -0400 Received: from mx2.redhat.com ([66.187.237.31]:42899) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MJ8e2-0005Wq-Qb for qemu-devel@nongnu.org; Tue, 23 Jun 2009 12:14:51 -0400 Message-ID: <4A40FFB0.2070905@redhat.com> Date: Tue, 23 Jun 2009 19:15:44 +0300 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 01/11] QMP: Introduce specification file References: <20090623012811.53a62493@doriath> <20090623144521.GA614@snarc.org> <4A40FB11.8090100@redhat.com> <4A40FB26.2040702@us.ibm.com> <4A40FD1A.1040303@redhat.com> <4A40FE31.2010007@us.ibm.com> In-Reply-To: <4A40FE31.2010007@us.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: ehabkost@redhat.com, jan.kiszka@siemens.com, dlaor@redhat.com, qemu-devel@nongnu.org, Luiz Capitulino , Vincent Hanquez On 06/23/2009 07:09 PM, Anthony Liguori wrote: > Avi Kivity wrote: >>> I'd rather not do json. >>> >> >> Why not? > > Because it's too much complexity at this level in the stack. I don't see that. Just another library. >>> As they stand, I think the current patch set is very close to being >>> mergable. I'd rather not go off on a new tangent. >> >> It fulfils all are requirements and more. There's a C implementation >> available. We can concentrate on the commands and ignore the plumbing. > > The same is true for XML-RPC, CIM, dbus, etc. RPC grow like weeds. > In 5 years, it will be shocking that qemu uses jsonrpc instead of the > next super-neat RPC protocol. The only one that actually competes here is xml-rpc, which is ridiculously verbose. > If we did a real RPC mechanism, I'd want to stick with something > tried-and-true like XDR. Having some experience with xdr, I'd call it tried-and-wrong. It's simply horrible. > But an RPC mechanism is not the monitor. If we were going to do > that, there's no point in morphing the monitor into that. > > What we're doing here is adding a computer-mode to the existing > monitor. This will be easy for current apps to consume and for us to > transition the code base to. It's a safe and incremental improvement. An RPC makes it a lot easier for clients to parse, there's no need for a regular expression per command, or to bother with line continuations etc. You just focus on the data. We have an opportunity to make a clean break, let's make use of it. > I don't want to invent Xen-API here and go through that pain in QEMU. I don't see the parallel. -- error compiling committee.c: too many arguments to function