[PATCH] qemu: bulk stats: add pcpu placement information

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch adds the information about the physical cpu
placement of virtual cpus for bulk stats.

This is the only difference in output with the
virDomainGetVcpus() API.
Management software, like oVirt, needs this information
to properly manage NUMA configurations.

Signed-off-by: Francesco Romani <fromani@xxxxxxxxxx>
---
 src/libvirt-domain.c   | 2 ++
 src/qemu/qemu_driver.c | 9 +++++++++
 2 files changed, 11 insertions(+)

diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index cb76d8c..63fc967 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -10888,6 +10888,8 @@ virConnectGetDomainCapabilities(virConnectPtr conn,
  *                      from virVcpuState enum.
  * "vcpu.<num>.time" - virtual cpu time spent by virtual CPU <num>
  *                     as unsigned long long.
+ * "vcpu.<num>.physical" - real CPU number on which virtual CPU <num> is
+ *                         running, or -1 if offline.
  *
  * VIR_DOMAIN_STATS_INTERFACE: Return network interface statistics.
  * The typed parameter keys are in this format:
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 830fca7..ab0652d 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -18348,6 +18348,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
                                     param_name,
                                     cpuinfo[i].cpuTime) < 0)
             goto cleanup;
+
+        snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
+                 "vcpu.%zu.physical", i);
+        if (virTypedParamsAddULLong(&record->params,
+                                    &record->nparams,
+                                    maxparams,
+                                    param_name,
+                                    cpuinfo[i].cpu) < 0)
+            goto cleanup;
     }
 
     ret = 0;
-- 
1.9.3

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]