Re: [PATCH] x86: use near online node instead of round bin for numa

From: Andi Kleen
Date: Mon Oct 05 2009 - 10:45:33 EST


Yinghai Lu <yinghai@xxxxxxxxxx> 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).

Do you have a system where this is needed?

-Andi

--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/