[libvirt] [PATCH v2 00/10] Re-enable memballoon driver statistics reporting

Michal Privoznik mprivozn at redhat.com
Thu Jul 11 14:05:47 UTC 2013


On 08.07.2013 21:20, John Ferlan wrote:
> This patchset replaces:
> 
> https://www.redhat.com/archives/libvir-list/2013-July/msg00108.html
> 
> Changes since V1:
>  * Remove the external (eg, qemu_monitor.{c,h}) API's to the qom-list,
>    qom-get, qom-set interfaces
>  * Handle errors in virXPathInt() return checking domain_conf.c
>  * Move the 'period' from _qemuDomainObjPrivate into _qemuMonitor
>  * Move/rename qemuProcessFindBalloonObjectPath from qemu_process.c
>    into qemu_monitor.c as qemuMonitorFindBalloonObjectPath()
>  * Create qemuMonitorJSONSetMemoryStatsPeriod() in qemu_monitor_json.c from
>    parts of prior change to add qemuProcessUpdateBalloonStatsPeriod()
>    in qemu_process.c and hav
>  * Add qemuMonitorSetMemoryStatsPeriod() in qemu_monitor.c to set
>    the collection period.  Adjust the code to take parts of prior change
>    and make check for balloon path in this path (set if necessary).
>  * Adjust code in qemuProcessReconnect(), qemuProcessStart(), and
>    qemuProcessAttach() to call qemuMonitorSetMemoryStatsPeriod()
>  * Adjust qemuMonitorJSONGetMemoryStats() to get the balloon stats once
>    the "actual" stat is collected from qemuMonitorJSONGetBalloonInfo().
>    Reviewer note: The prior code to get "actual" was a duplicate of the
>    BalloonInfo code.  Since "balloon-info" is where the actual memory is
>    still stored it still must be called as that data is not present in
>    the balloon stats qom-get "stats" fetch implemented as the new API
>    qemuMonitorJSONGetBalloonStats().
>  * Avoid overloading virDomainSetMemoryFlags()...
>  * Create/use virDomainSetMemoryStatsPeriodFlags() to set the collection
>    period dynamically from "virsh dommemstats" using the --period qualifier.
> 
> John Ferlan (10):
>   Add qemuMonitorJSONGetObjectListPaths() method for QMP qom-list
>     command
>   Add qemuMonitorJSONGetObjectProperty() method for QMP qom-get command
>   Add qemuMonitorJSONSetObjectProperty() method for QMP qom-set command
>   Add 'period' for Memballoon statistics gathering capability
>   Determine whether to start balloon memory stats gathering.
>   Add capability to fetch balloon stats
>   Add new public API virDomainSetMemoryStatsPeriodFlags
>   Specify remote protocol for virDomainSetMemoryStatsPeriodFlags
>   Implement the virDomainSetMemoryStatsPeriodFlags for QEMU driver
>   Allow balloon driver collection to be adjusted dynamically
> 
>  docs/formatdomain.html.in     |  19 ++
>  docs/schemas/domaincommon.rng |   7 +
>  include/libvirt/libvirt.h.in  |   3 +
>  src/conf/domain_conf.c        |  44 +++-
>  src/conf/domain_conf.h        |   1 +
>  src/driver.h                  |   6 +
>  src/libvirt.c                 |  65 ++++++
>  src/libvirt_public.syms       |   5 +
>  src/qemu/qemu_driver.c        |  66 ++++++
>  src/qemu/qemu_monitor.c       | 133 ++++++++++-
>  src/qemu/qemu_monitor.h       |   2 +
>  src/qemu/qemu_monitor_json.c  | 498 ++++++++++++++++++++++++++++++++----------
>  src/qemu/qemu_monitor_json.h  |  64 ++++++
>  src/qemu/qemu_process.c       |  21 +-
>  src/remote/remote_driver.c    |   1 +
>  src/remote/remote_protocol.x  |  15 +-
>  src/remote_protocol-structs   |   6 +
>  tests/qemumonitorjsontest.c   | 186 ++++++++++++++++
>  tools/virsh-domain-monitor.c  |  66 +++++-
>  19 files changed, 1085 insertions(+), 123 deletions(-)
> 

ACK series modulo patch 05/10 where three questions need to be answered
first:

- Why do we call qemuMonitorSetMemoryStatsPeriod in qemuProcessReconnect?

- Why do we try to gather polling interval prior setting it?

- I guess we should error out there as well.

Michal




More information about the libvir-list mailing list