On Fri, Jan 29, 2016 at 05:01:58PM +0100, Peter Krempa wrote: > Pass a bitmap of enabled guest vCPUs to virCgroupGetPercpuStats so that > un-continuous vCPU topologies can be used. non-contiguous > --- > src/lxc/lxc_driver.c | 2 +- > src/qemu/qemu_driver.c | 7 ++++++- > src/util/vircgroup.c | 16 ++++++++-------- > src/util/vircgroup.h | 3 ++- > tests/vircgrouptest.c | 2 +- > 5 files changed, 18 insertions(+), 12 deletions(-) > > diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c > index abcdbe6..0fa7d13 100644 > --- a/src/qemu/qemu_driver.c > +++ b/src/qemu/qemu_driver.c > @@ -18173,6 +18173,7 @@ qemuDomainGetCPUStats(virDomainPtr domain, > virDomainObjPtr vm = NULL; > int ret = -1; > qemuDomainObjPrivatePtr priv; > + virBitmapPtr guestvcpus = NULL; > > virCheckFlags(VIR_TYPED_PARAM_STRING_OKAY, -1); > > @@ -18196,13 +18197,17 @@ qemuDomainGetCPUStats(virDomainPtr domain, > goto cleanup; > } > > + if (!(guestvcpus = virDomainDefGetOnlineVcpumap(vm->def))) > + goto cleanup; > + > if (start_cpu == -1) > ret = virCgroupGetDomainTotalCpuStats(priv->cgroup, > params, nparams); > else > ret = virCgroupGetPercpuStats(priv->cgroup, params, nparams, > - start_cpu, ncpus, priv->nvcpupids); > + start_cpu, ncpus, guestvcpus); These are not equivalent. A type='qemu' domain can have multiple online CPUs while ncpupids == 0. Jan
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list