qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Luiz Capitulino <lcapitulino@redhat.com>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: agl@us.ibm.com, eblake@redhat.com, qemu-devel@nongnu.org,
	armbru@redhat.com
Subject: Re: [Qemu-devel] [PATCH 6/6] qmp: add balloon-get-memory-stats & event
Date: Fri, 17 Feb 2012 15:16:22 -0200	[thread overview]
Message-ID: <20120217151622.682d307b@doriath.home> (raw)
In-Reply-To: <4F3E868D.8020107@us.ibm.com>

On Fri, 17 Feb 2012 10:55:41 -0600
Anthony Liguori <aliguori@us.ibm.com> wrote:

> On 02/08/2012 02:30 PM, Luiz Capitulino wrote:
> > This commit adds a QMP API for the guest provided memory statistics
> > (long disabled by commit 07b0403dfc2b2ac179ae5b48105096cc2d03375a).
> >
> > The approach taken by the original commit
> > (625a5befc2e3200b396594f002218d235e375da5) was to extend the
> > query-balloon command. It introduced a severe bug though: query-balloon
> > would hang if the guest didn't respond.
> >
> > The approach taken by this commit is asynchronous and thus avoids
> > any QMP hangs.
> >
> > First, a client has to issue the balloon-get-memory-stats command.
> > That command gets the process started by only sending a request to
> > the guest, it doesn't block. When the memory stats are made available
> > by the guest, they are returned to the client as an QMP event.
> >
> > Signed-off-by: Luiz Capitulino<lcapitulino@redhat.com>
> 
> Do we need this to be stable in 1.1?

Well, this is disabled for a long time already and libvirt needs it, so I'd
say asap, but isn't it possible to implement this with current QOM?

> We can do this pretty nicely through QOM.  We can have a polling property in the 
> virtio-balloon driver, that when set, will enable the virtio-balloon device to 
> poll the guest for statistics.
>
> 
> We can also have properties for each of the memory statistics and a timestamp 
> for when the last update was.
> 
> I think this is a friendlier approach for clients, and a cleaner approach from a 
> QEMU perspective.

I agree it's friendlier, but is it a good idea to keep polling the guest for
something that may never be needed by a mngt app (real question)?

We could allow the mngt app to do the polling by adding a query-balloon-stats
command (instead of balloon-get-memory-stats & event). This command could
return the latest available stats if any (with a timestamp) and query the
guest for new stats.

> 
> There's nothing generic about this functionality.  It's extremely specific to 
> virtio-balloon.  We just lacked ways to expose device specific function pre-QOM.
> 
> Regards,
> 
> Anthony Liguori
> 

  parent reply	other threads:[~2012-02-17 17:16 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-08 20:30 [Qemu-devel] [PATCH 0/6] QMP: add balloon-get-memory-stats command Luiz Capitulino
2012-02-08 20:30 ` [Qemu-devel] [PATCH 1/6] balloon: qmp_balloon(): Use error_set() Luiz Capitulino
2012-02-08 20:30 ` [Qemu-devel] [PATCH 2/6] balloon: Drop unused include Luiz Capitulino
2012-02-08 20:30 ` [Qemu-devel] [PATCH 3/6] balloon: Rename QEMUBalloonStatus to QEMUBalloonInfo Luiz Capitulino
2012-02-08 20:30 ` [Qemu-devel] [PATCH 4/6] balloon: Refactor kvm sync mmu check Luiz Capitulino
2012-02-08 20:30 ` [Qemu-devel] [PATCH 5/6] balloon: Drop old stats interface Luiz Capitulino
2012-02-08 20:30 ` [Qemu-devel] [PATCH 6/6] qmp: add balloon-get-memory-stats & event Luiz Capitulino
2012-02-09 19:26   ` Adam Litke
2012-02-10 17:11     ` Luiz Capitulino
2012-02-17 16:55   ` Anthony Liguori
2012-02-17 17:09     ` Michael Roth
2012-02-17 20:07       ` Anthony Liguori
2012-02-17 21:38         ` Michael Roth
2012-02-17 17:16     ` Luiz Capitulino [this message]
2012-02-17 21:51       ` Michael Roth
2012-02-22 12:48         ` Luiz Capitulino
2012-02-22 15:05           ` Michael Roth
2012-02-22 16:09             ` Luiz Capitulino
2012-02-22 16:54               ` Michael Roth
2012-02-22 19:44                 ` Luiz Capitulino
2012-02-22 20:27                   ` Michael Roth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120217151622.682d307b@doriath.home \
    --to=lcapitulino@redhat.com \
    --cc=agl@us.ibm.com \
    --cc=aliguori@us.ibm.com \
    --cc=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).