From: Keir Fraser Subject: Re: [PATCH] xend: Fix non-contiguous NUMA node assignment Date: Sun, 17 Jan 2010 17:48:50 +0000 Message-ID: References: <4B506D7F.1050500@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4B506D7F.1050500@amd.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Andre Przywara Cc: "xen-devel@lists.xensource.com" , "yunhong.jiang@intel.com" List-Id: xen-devel@lists.xenproject.org nr_nodes was always num_online_nodes() returned by Xen -- not accounting for holes in node id space. Hance I emulated that behaviour from the Python extension package. If what you actually want everywhere in the Python code is max_node_id, then please remove the nr_nodes code from xc.c and all references to it from the Python code. I agree that using max_node_id seems more correct than nr_nodes -- the intention was for someone to plumb that new field properly into the Python code anyway. -- Keir On 15/01/2010 13:28, "Andre Przywara" wrote: > Hi, > > it seems that I missed a point in this whole addition of max_node_id. I > see the difference in the Xen HV part, so nr_nodes got replaced with > max_node_id in physinfo_t (and xc_physinfo_t, respectively). > But where does this value help in xend? There is no single Python > reference to the physinfo()'s max_node_id field, instead all functions > use the old (but now bogus) nr_nodes variable. > So in the attached patch I kept the xc.physinfo() returned dictionary > with only a nr_nodes field, calculated by simply adding 1 to max_node_id > from libxc. Empty nodes can (and will) be detected by iterating through > the node_to_cpus and node_to_memory lists. > Nodes without memory should not be considered during guest's memory > allocation, but will be used for further CPU affinity setting if the > number of VCPUs exceeds the number of cores per node. > > Please correct me if I am totally wrong on this, but this seems to work > much better in my case. > > Regards, > Andre. > > Signed-off-by: Andre Przywara