[libvirt] Problem of host CPU topology parsing

Daniel P. Berrange berrange at redhat.com
Fri May 11 09:07:50 UTC 2012


On Fri, May 11, 2012 at 10:46:26AM +0200, Jiri Denemark wrote:
> On Fri, May 11, 2012 at 09:35:48 +0100, Daniel P. Berrange wrote:
> > On Fri, May 11, 2012 at 04:21:48PM +0800, Osier Yang wrote:
> > > Hi,
> > > 
> > > We have problem of host CPU topology parsing on special
> > > platforms (general platforms are fine). E.g.
> > > 
> > > On a AMD machine with 48 CPUs [1] (4 sockets, 6 cores indeed
> > > [2]), VIR_NODEINFO_MAXCPUS [3] will always return 24 as the
> > > total CPU number.
> > 
> > If it is returning 24, then surely we have the 'nodes' value
> > wrong in the virNodeInfo ? It sounds like it should have been
> > set to 2  (4 * 6 * 2 => 48)
> 
> According to capabilities XML, there are 8 NUMA nodes so setting them to 2
> wouldn't make much sense. It would be cool to know the correct hardware
> topology but I'm not sure how to get that so that we can detect which part of
> our detection mechanism is wrong. /proc/cpuinfo lists 48 CPUs but with only 4
> distinct physical IDs and 6 distinct core IDs, which looks suspicious to me.

We probably want to grab the sysfs / proc files for this machine (and a
few other different machines) and use them to extend the nodeinfotest
test case data, since this is clearly a troublesome bit of code.

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 :|




More information about the libvir-list mailing list