On Mon, Feb 09, 2015 at 04:01:55PM +0000, Daniel P. Berrange wrote: > On Mon, Feb 09, 2015 at 03:20:28PM +0000, Serge Hallyn wrote: > > Hi, > > > > 'virsh vcpuinfo' in 1.2.12 returns an empty line for VMs using tcg. I > > assume this is due to commit b07f3d821dfb11 which explicitly sets > > nvcpupids to 0 now. Is 'virsh vcpuinfo' returning nothing just an > > unfortunate but expected side-effect, or is it a bug and it should > > return info anyway? My impression is that qemu_driver.c should be > > using vm->def->vcpus rather than priv->nvcpupids to determine the > > # of cpus to show? > > The virsh vcpuinfo command calls virDomainGetVcpus() which in QEMU > ends up calling qemuDomainHelperGetVcpus. This method in turn > iterates over the vCPUs calling qemuGetProcessInfo to determine > the CPU time & CPU affinity of the vCPU vs host pCPUs. This only > works if there are threads for each vCPU in QEMU. The QEMU TCG > emulator is single threaded, so we cannot get the data for individual > vCPUs when using TCG. > > The previous code would result in virDomainGetVcpus() returning > only a single vCPU record even when the guest have multiple vCPUs, > which is just incorrect. > > For some reason though qemuDomainHelperGetVcpus just returns > no data at all now, when it should be returning an error > message "cpu affinity is not available". this just looks like > a logic error there. I've found another bug in fact. It seems that when the XML parser sees <vcpu cpuset='0-1'>4</vcpu>, it will also create a fake <cputune> config of <cputune> <vcpupin cpuset='0-1' vcpu='0'/> <vcpupin cpuset='0-1' vcpu='1'/> <vcpupin cpuset='0-1' vcpu='2'/> <vcpupin cpuset='0-1' vcpu='3'/> </cputune> So although my intent was to prevent use of per-VCPU pining only, it seems we've in fact prevented use of VM level pinning too :-( I'll send a patch to try and fix that Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list