[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