On Fri, Oct 13, 2006 at 10:51:33AM +0200, Philippe Berthault wrote:
In the virNodeInfo structure, it's assumed that all nodes of
multiprocessor systems have the same number of sockets. But on NUMA
machines, it's not mandatory that all SMP nodes have the same number of
sockets.
So there is a potential problem when computing the number of processors
by using the informations returned in the virNodeInfo structure.
This problem exists also in Xen (in the "xm info" command) but both Xen
and libvirt are wrong.
Okay, agreed but I don't see how we could change the interface now.
I guess in such a case, one should ignore the node informations, put 1
and provide the number of sockets for the whole machine. Since there
is no way to do node assignment anyway in the API, the best is to allow
the user space to see the right number of core available.
Note you may get the same kind of problem say by mixing 2 and 4 core
processors on a single node, I still think homogeneous setups are by
large the more frequents. But you are right there is a limitation there,
it should however not be too problemeatic, I don't expect people would
use that call to try to guess topology of the underlying boxes.
Daniel
--
Red Hat Virtualization group
http://redhat.com/virtualization/
Daniel Veillard | virtualization library
http://libvirt.org/
veillard(a)redhat.com | libxml GNOME XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine
http://rpmfind.net/