qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC 0/5]: QMP: add balloon-get-memory-stats command
@ 2012-01-19 15:56 Luiz Capitulino
  2012-01-19 15:56 ` [Qemu-devel] [PATCH 1/5] balloon: qmp_balloon(): Use error_set() Luiz Capitulino
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Luiz Capitulino @ 2012-01-19 15:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: aliguori, armbru, mdroth, agl, amit.shah, eblake

Long ago, commit 625a5be added the guest provided memory statistics to
the query-balloon command. Unfortunately, it also introduced a severe
bug: query-balloon would hang if the guest didn't respond. This, in turn,
would also cause a hang in libvirt.

Because of that, we decided to disable the guest memory stats feature
(commit 11724ff).

As we decided to let commands implement ad-hoc async mechanisms until we
get a proper way to do it, I decided to try to re-enable that feature.

My idea is to have a command and an event. The command gets the process
started by sending a request to guest and returns. Later, when the guest
makes the memory stats info available, it's sent to the client by means
of an QMP event (please, take a look at patch 05/05 for full details).

I'm not sure if that approach is good for libvirt though, so it would be
very helpful to get their input (Eric, I'm CC'ing you here, but feel free
to route this to someone else).

Another interesting point is that, there's another way of doing this and
it's using qemu-ga instead. That's, qemu-ga could read that information
from proc and return it. This is easier & simpler, as it doesn't involve
guest communication. We also could return a lot more information if needed.
The only disadvantage I can see is the dependency on qemu-ga...

 QMP/qmp-events.txt  |   28 ++++++++++++++++++++++++++++
 balloon.c           |   47 +++++++++++++++++++++++++++++++++++++----------
 balloon.h           |    7 ++++---
 hmp.c               |   25 +------------------------
 hw/virtio-balloon.c |   39 +++++++++++++++++++++++++++------------
 monitor.c           |    3 +++
 monitor.h           |    1 +
 qapi-schema.json    |   42 ++++++++++++++++++++++--------------------
 qmp-commands.hx     |    6 ++++++
 9 files changed, 129 insertions(+), 69 deletions(-)

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-01-20 12:06 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-19 15:56 [Qemu-devel] [RFC 0/5]: QMP: add balloon-get-memory-stats command Luiz Capitulino
2012-01-19 15:56 ` [Qemu-devel] [PATCH 1/5] balloon: qmp_balloon(): Use error_set() Luiz Capitulino
2012-01-19 15:56 ` [Qemu-devel] [PATCH 2/5] balloon: Drop unused include Luiz Capitulino
2012-01-19 15:56 ` [Qemu-devel] [PATCH 3/5] balloon: Drop old stats interface Luiz Capitulino
2012-01-19 15:56 ` [Qemu-devel] [PATCH 4/5] balloon: Rename QEMUBalloonStatus to QEMUBalloonInfo Luiz Capitulino
2012-01-19 15:56 ` [Qemu-devel] [PATCH 5/5] qmp: add balloon-get-memory-stats & event Luiz Capitulino
2012-01-19 16:43 ` [Qemu-devel] [RFC 0/5]: QMP: add balloon-get-memory-stats command Michael Roth
2012-01-19 16:58   ` Luiz Capitulino
2012-01-19 17:15 ` Eric Blake
2012-01-20 12:02   ` Luiz Capitulino
2012-01-19 21:50 ` Adam Litke
2012-01-20 12:06   ` Luiz Capitulino

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).