From: Chris Lalancette Date: Thu, 11 Mar 2010 20:45:11 +0000 (-0500) Subject: Make nodeGetInfo report the correct number of NUMA nodes. X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=83988bd43b293c65be674a03a778c21f93553c32;p=people%2Fliuw%2Flibxenctrl-split%2Flibvirt.git Make nodeGetInfo report the correct number of NUMA nodes. The nodeGetInfo code was always assuming that machine had a single NUMA node, which is not correct. The good news is that libnuma gives us this information pretty easily, so let's properly report it. NOTE: With recent hardware starting to support CPU hot-add and hot-remove, both this code and the nodeCapsInitNUMA() code are quickly going to become obsolete. We'll have to think of a more dynamic solution for dealing with NUMA nodes and CPUs that can come and go at will. Signed-off-by: Chris Lalancette --- diff --git a/src/nodeinfo.c b/src/nodeinfo.c index 0748602f7..8d7e0551c 100644 --- a/src/nodeinfo.c +++ b/src/nodeinfo.c @@ -159,7 +159,11 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, nodeinfo->cpus = 0; nodeinfo->mhz = 0; - nodeinfo->nodes = nodeinfo->cores = 1; + nodeinfo->cores = 1; + if (numa_available() < 0) + nodeinfo->nodes = 1; + else + nodeinfo->nodes = numa_max_node() + 1; /* NB: It is impossible to fill our nodes, since cpuinfo * has no knowledge of NUMA nodes */