From: Luiz Capitulino <lcapitulino@redhat.com>
To: qemu-devel@nongnu.org
Cc: eblake@redhat.com, aliguori@us.ibm.com, armbru@redhat.com,
agl@us.ibm.com
Subject: [Qemu-devel] [PATCH 0/6] QMP: add balloon-get-memory-stats command
Date: Wed, 8 Feb 2012 18:30:34 -0200 [thread overview]
Message-ID: <1328733040-16697-1-git-send-email-lcapitulino@redhat.com> (raw)
This series re-enables the balloon memory statistics feature disabled
long ago by commit 11724ff.
The feature has been disabled because it added a severe bug: query-balloon
would hang if the guest didn't respond. This, in turn, would also cause a
hang in libvirt.
To avoid that bug, the solution implemented in this series uses 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 6/6 for full details).
This series has an issue though: it lacks HMP support. The reason for this
is that there's no way to wait for an event in HMP. There are two ways to
solve this:
1. We wait to have support for events in the QAPI. This way it will be
possible to wait for events from HMP
2. Add a query-balloon-memory-stats command which polls for the guest
response (and immediatelly returns if the guest response is not
available)
I'm going on only with the event for now, as this is slightly simpler.
QMP/qmp-events.txt | 36 ++++++++++++++++++++++++
balloon.c | 61 +++++++++++++++++++++++++++++++---------
balloon.h | 7 +++--
hmp.c | 25 +----------------
hw/virtio-balloon.c | 76 ++++++++++++++++++++++++++++++++++-----------------
monitor.c | 2 +
monitor.h | 1 +
qapi-schema.json | 42 +++++++++++++++-------------
qmp-commands.hx | 5 +++
9 files changed, 169 insertions(+), 86 deletions(-)
next reply other threads:[~2012-02-08 20:30 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-08 20:30 Luiz Capitulino [this message]
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
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=1328733040-16697-1-git-send-email-lcapitulino@redhat.com \
--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).