From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Ján Tomko" <jtomko@redhat.com>
Cc: qemu-devel@nongnu.org, aliguori@amazon.com, lcapitulino@redhat.com
Subject: Re: [Qemu-devel] [PATCH v2] virtio-balloon: return empty data when no stats are available
Date: Wed, 21 May 2014 15:54:19 +0300 [thread overview]
Message-ID: <20140521125419.GB21476@redhat.com> (raw)
In-Reply-To: <337a4c88f373a56ca30698bf1f8772467ddb347d.1400662668.git.jtomko@redhat.com>
On Wed, May 21, 2014 at 11:03:47AM +0200, Ján Tomko wrote:
> If the guest hasn't updated the stats yet, instead of returning
> an error, return '-1' for the stats and '0' as 'last-update'.
>
> This lets applications ignore this without parsing the error message.
>
> Related libvirt patch and discussion:
> https://www.redhat.com/archives/libvir-list/2014-May/msg00460.html
>
> Tested against current upstream libvirt - stat reporting works and
> it no longer logs errors when the stats are queried on domain startup.
> (Note: libvirt doesn't use the last-update field for anything yet)
>
> Signed-off-by: Ján Tomko <jtomko@redhat.com>
Applied, thanks!
> ---
> v1: https://lists.gnu.org/archive/html/qemu-devel/2014-05/msg03643.html
> Reviewed-by: Eric Blake <eblake@redhat.com>
> v2:
> rebased
> added documentation changes
> mentioned testing in the commit message
>
> docs/virtio-balloon-stats.txt | 5 +++--
> hw/virtio/virtio-balloon.c | 7 ++-----
> 2 files changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/docs/virtio-balloon-stats.txt b/docs/virtio-balloon-stats.txt
> index f74612f..edff5f2 100644
> --- a/docs/virtio-balloon-stats.txt
> +++ b/docs/virtio-balloon-stats.txt
> @@ -35,7 +35,8 @@ which will return a dictionary containing:
>
> o A key named last-update, which contains the last stats update
> timestamp in seconds. Since this timestamp is generated by the host,
> - a buggy guest can't influence its value
> + a buggy guest can't influence its value. The value is 0 if the guest
> + has not updated the stats (yet).
>
> It's also important to note the following:
>
> @@ -49,7 +50,7 @@ It's also important to note the following:
>
> - Polling can be enabled even if the guest doesn't have stats support
> or the balloon driver wasn't loaded in the guest. If this is the case
> - and stats are queried, an error will be returned
> + and stats are queried, last-update will be 0.
>
> - The polling timer is only re-armed when the guest responds to the
> statistics request. This means that if a (buggy) guest doesn't ever
> diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
> index bf2b588..22cd52e 100644
> --- a/hw/virtio/virtio-balloon.c
> +++ b/hw/virtio/virtio-balloon.c
> @@ -112,11 +112,6 @@ static void balloon_stats_get_all(Object *obj, struct Visitor *v,
> VirtIOBalloon *s = opaque;
> int i;
>
> - if (!s->stats_last_update) {
> - error_setg(errp, "guest hasn't updated any stats yet");
> - return;
> - }
> -
> visit_start_struct(v, NULL, "guest-stats", name, 0, &err);
> if (err) {
> goto out;
> @@ -378,6 +373,8 @@ static void virtio_balloon_device_realize(DeviceState *dev, Error **errp)
> s->dvq = virtio_add_queue(vdev, 128, virtio_balloon_handle_output);
> s->svq = virtio_add_queue(vdev, 128, virtio_balloon_receive_stats);
>
> + reset_stats(s);
> +
> register_savevm(dev, "virtio-balloon", -1, 1,
> virtio_balloon_save, virtio_balloon_load, s);
>
> --
> 1.8.3.2
prev parent reply other threads:[~2014-05-21 12:55 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-21 9:03 [Qemu-devel] [PATCH v2] virtio-balloon: return empty data when no stats are available Ján Tomko
2014-05-21 11:23 ` Eric Blake
2014-05-21 12:54 ` Michael S. Tsirkin [this message]
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=20140521125419.GB21476@redhat.com \
--to=mst@redhat.com \
--cc=aliguori@amazon.com \
--cc=jtomko@redhat.com \
--cc=lcapitulino@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.