[libvirt] [PATCH] qemu: Parse current balloon value returned by query_balloon.

Matthias Bolte matthias.bolte at googlemail.com
Fri Jun 3 08:10:55 UTC 2011


2011/6/3 Osier Yang <jyang at redhat.com>:
> Qemu once supported following memory stats which will returned by
> "query_balloon":
>
>    stat_put(dict, "actual", actual);
>    stat_put(dict, "mem_swapped_in", dev->stats[VIRTIO_BALLOON_S_SWAP_IN]);
>    stat_put(dict, "mem_swapped_out", dev->stats[VIRTIO_BALLOON_S_SWAP_OUT]);
>    stat_put(dict, "major_page_faults", dev->stats[VIRTIO_BALLOON_S_MAJFLT]);
>    stat_put(dict, "minor_page_faults", dev->stats[VIRTIO_BALLOON_S_MINFLT]);
>    stat_put(dict, "free_mem", dev->stats[VIRTIO_BALLOON_S_MEMFREE]);
>    stat_put(dict, "total_mem", dev->stats[VIRTIO_BALLOON_S_MEMTOT]);
>
> But it later disabled all the stats except "actual" by commit
> 07b0403dfc2b2ac179ae5b48105096cc2d03375a.
>
> libvirt doesn't parse "actual", so user will always see a empty result
> with "virsh dommemstat $domain". Even qemu haven't disabled the stats,
> we should support parsing "actual".
> ---
>  include/libvirt/libvirt.h.in |    4 +++-
>  src/libvirt.c                |    2 ++
>  src/qemu/qemu_monitor_json.c |   12 ++++++++++++
>  tools/virsh.c                |    2 ++
>  4 files changed, 19 insertions(+), 1 deletions(-)
>
> diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
> index 8058229..864852b 100644
> --- a/include/libvirt/libvirt.h.in
> +++ b/include/libvirt/libvirt.h.in
> @@ -456,11 +456,13 @@ typedef enum {
>      */
>     VIR_DOMAIN_MEMORY_STAT_AVAILABLE       = 5,
>
> +    /* Current balloon value (in KB). */
> +    VIR_DOMAIN_MEMORY_STAT_ACTUAL          = 6,

Is this the memory size occupied by the balloon? Then I suggest we
call this VIR_DOMAIN_MEMORY_STAT_BALLOON instead or
VIR_DOMAIN_MEMORY_STAT_ACTUAL_BALLOON if you want to keep the 'actual'
in there.

Matthias




More information about the libvir-list mailing list