From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44503) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TkZGI-00018B-KR for qemu-devel@nongnu.org; Mon, 17 Dec 2012 06:55:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TkZFE-0001Ek-Ie for qemu-devel@nongnu.org; Mon, 17 Dec 2012 06:53:34 -0500 Received: from mx1.redhat.com ([209.132.183.28]:34374) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TkZFE-0001EV-Ay for qemu-devel@nongnu.org; Mon, 17 Dec 2012 06:52:28 -0500 Date: Mon, 17 Dec 2012 09:52:24 -0200 From: Luiz Capitulino Message-ID: <20121217095224.3e616fb6@doriath.home> In-Reply-To: <24E144B8C0207547AD09C467A8259F75578B33BF@lisa.maurer-it.com> References: <1355500182-12743-1-git-send-email-lcapitulino@redhat.com> <24E144B8C0207547AD09C467A8259F75578B33BF@lisa.maurer-it.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 0/3] re-enable balloon stats List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dietmar Maurer Cc: "mdroth@linux.vnet.ibm.com" , "aliguori@us.ibm.com" , "qemu-devel@nongnu.org" , "agl@us.ibm.com" On Sat, 15 Dec 2012 07:19:13 +0000 Dietmar Maurer wrote: > > - drop qmp & hmp interface of old stats code > > I think the old interface is not that bad (the new one is clumsy, because > we need 6 qmp call instead of one to get all stats). Can't > we try to make it functional and keep it? No, because it breaks existing clients and that's why it's disabled since qemu 0.12 or so. Let me try once more to explain our options and why I think this is series is our best choice. Basically, we have try options: 1. Add stats to query-balloon This breaks existing clients, because query-balloon is a synchronous command that returns immediately. If we add stats to it (as we did) then it will have to wait for the guest to respond, which can take a long time or even doesn't happen at all if the guest is paused. This broke libvirt, as explained here: https://bugzilla.redhat.com/show_bug.cgi?id=623903 2. Add a new command that just request the stats to be sent (ie. it doesn't block), and then get the stats through an event This was my last proposal: http://lists.gnu.org/archive/html/qemu-devel/2012-02/msg00983.html This sort of worked, but it has two problems. First, events can be lost. Second, most failures can't be synchronously reported. 3. Add stats through device properties (this series) While this isn't perfect, it does solve the issues with previous implementations. Besides, it has the advantage of avoiding adding new commands and it integrates nicely with the balloon driver, making some errors automatically reported (eg. if the balloon is not enabled). > Seriously, I think 'interval' should be a property we can pass at qemu > startup. Then we can simply use the old interface to get cached values. What if you want to change the interval or even set it case it wasn't set? You'll need a new command. Any different behavior we want to add will require a new command. Which is one of your own complaints against this series. > I also do not understand you argument that you can't use the old > interface because it was synchrounous - Explained above. > removing the old interface is also > not compatible ;-) It's not, for two reasons. First, all fields are optional. Second, this was never in a stable release (or was disabled right after the release).