[PATCH v4 3/3] qemu_driver: use qemuMonitorQueryStats to extract halt poll time
Martin Kletzander
mkletzan at redhat.com
Thu Aug 18 10:36:18 UTC 2022
On Thu, Aug 18, 2022 at 08:47:20AM +0530, Amneesh Singh wrote:
>This patch uses qemuMonitorQueryStats to query "halt_poll_success_ns"
>and "halt_poll_fail_ns" for every vCPU. The respective values for each
>vCPU are then added together.
>
>Signed-off-by: Amneesh Singh <natto at weirdnatto.in>
>---
> src/qemu/qemu_driver.c | 81 ++++++++++++++++++++++++++++++++++++++----
> 1 file changed, 75 insertions(+), 6 deletions(-)
>
>diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
>index 333225dd21..6e2bef26aa 100644
>--- a/src/qemu/qemu_driver.c
>+++ b/src/qemu/qemu_driver.c
>@@ -17769,15 +17769,84 @@ qemuDomainGetStatsCpuCgroup(virDomainObj *dom,
> return 0;
> }
>
>+static int
>+qemuDomainGetStatsCpuHaltPollTimeFromStats(virDomainObj *dom,
>+ unsigned int privflags,
>+ unsigned long long *haltPollSuccess,
>+ unsigned long long *haltPollFail)
>+{
>+ qemuDomainObjPrivate *priv = dom->privateData;
>+ qemuMonitorQueryStatsTargetType target = QEMU_MONITOR_QUERY_STATS_TARGET_VCPU;
>+ qemuMonitorQueryStatsProvider *provider = NULL;
>+ g_autoptr(GPtrArray) providers = NULL;
>+ g_autoptr(virJSONValue) queried_stats = NULL;
>+ const char *success_str = qemuMonitorQueryStatsNameTypeToString(QEMU_MONITOR_QUERY_STATS_NAME_HALT_POLL_SUCCESS_NS);
>+ const char *fail_str = qemuMonitorQueryStatsNameTypeToString(QEMU_MONITOR_QUERY_STATS_NAME_HALT_POLL_FAIL_NS);
>+ size_t i;
>+
I added a reset of the values to 0 here for good measure.
Reviewed-by: Martin Kletzander <mkletzan at redhat.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20220818/d1f3ccef/attachment.sig>
More information about the libvir-list
mailing list