Messages in this thread | | | Date | Mon, 05 Oct 2009 11:40:46 -0700 | From | Yinghai Lu <> | Subject | Re: [PATCH] x86: use near online node instead of round bin for numa |
| |
Andi Kleen wrote: > On Mon, Oct 05, 2009 at 11:09:59AM -0700, Yinghai Lu wrote: >> Andi Kleen wrote: >>> Yinghai Lu <yinghai@kernel.org> writes: >>> >>>> cpu to node mapping is set in following sequence: >>>> 1. numa_init_array: set up roundbin from cpu to online node >>>> 2. init_cpu_to_node: set that according to apicid_to_node[] according to srat >>>> only handle that node is online, and leave other cpu on node >>>> without ram (aka not online) to still round-bin >>>> 3. later srat_detect_node for intel/amd, will use first_online node or near by >>>> node. >>>> >>>> problem is that setup_per_cpu_areas() is called between 2 and 3. the per_cpu >>>> for cpu on node with ram is on different node. and could put that on node with >>>> two hops away. >>>> >>>> so try add find_near_online_node() and call int init_cpu_to_node() >>> This fallback case should not really happen anyways, unless the BIOS is buggy >>> (in this case it might better to completely reject the SRAT because >>> more might be wrong). >> SRAT is right, and some node has no ram installed. > > In this case there should be still a PXM to define the CPU locality -- your BIOS is broken. > Please fix it there.
I don't think so.
YH
| |