On 03/06/2012 05:10 AM, Richard W.M. Jones wrote:
This all appears to work. I built my own libvirt with the three
remaining patches and was able to read pCPU information for a running
domain.
The libvirt side is now pushed.
Rich:
The documentation in libvirt.c correctly says that calling
virDomainGetCPUStats(dom, NULL, 0, 0, 0, 0) must tell you part of the
information needed to compute the size of an array to allocate; but in
v7, the return was off by one too small. But it was generally masked by
the v7 virsh code overallocating to a fixed 128 slots rather than paying
attention to the return value. I fixed both those problems before
pushing the libvirt patches, but since you tested with v7 instead of my
fixed version, you may need to double check that virt-top isn't making
the same mistakes, as it might be a boundary case that only strikes on
machines with 128 physical CPUs.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org