On 10/17/2012 03:06 PM, Dusty Mabe wrote:
Hi,
Would it be possible to augment the output produced in virsh
capabilities to also provide the hyperthreaded sibling of a processor?
For example the information would look something like:
<topology>
<cells num='2'>
<cell id='0'>
<cpus num='8'>
<cpu id='1' sibling='9'/>
Indeed, that sounds useful, and it is strictly additive so there is no
technical reason preventing that addition.
I notice that you guys are actually using some of the numactl stuff
(numa.h) to query for the cpus on a given node and I have combed
through that code to see if it provided any info about hyperthreaded
siblings but from what I can tell it does not. I have tinkered around
with the hwloc libraries (
http://www.open-mpi.org/projects/hwloc/) and
have written a short program to print out each logical cpu and its
hyperthreaded sibling (see attached)
We haven't used hwloc before, but if that is the only way to get at the
sibling information, it sounds like it might be a reasonable additional
requirement for libvirt.
On Fedora 17, I see:
hwloc x86_64 1.4.1-2.fc17 updates
1.1 M
hwloc-devel x86_64 1.4.1-2.fc17 updates
150 k
so it looks like -lhwloc is currently bundled alongside the hwloc
command line executable; the library itself is decently small:
-rwxr-xr-x. 1 root root 163168 Apr 18 16:27 /usr/lib64/libhwloc.so.5.0.1
so I wonder if Fedora packaging should split that up so we only drag in
the library instead of the whole command line utility. But that's a
concern for Fedora, not this list.
Would you guys ever consider adding something like this? I would be
willing to help create a patch if I had some guidance.
Absolutely! It sounds like there's several major places to touch to add
this in:
configure.ac - check for presence of hwloc
libvirt.spec.in - require hwloc on new-enough Fedora
docs - document the new XML
docs/schemas - accept the new XML during RNG validation
src/nodeinfo.c - use the new library, when availalble, to get at the new
information
tests - add a new xml file that demonstrates the RNG changes accept the
new XML
You may find it helpful to read
http://libvirt.org/hacking.html
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org