powerpc/numa: Use form 1 affinity to setup node distance
authorAnton Blanchard <anton@samba.org>
Sun, 16 May 2010 20:22:31 +0000 (20:22 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 9 Jul 2010 01:28:35 +0000 (11:28 +1000)
commit41eab6f88f24124df89e38067b3766b7bef06ddb
tree41ec35970c76adbba1558b6243d80be669062136
parenta591f6b56d6fbd7d1951e352fe5b0acf6b91e497
powerpc/numa: Use form 1 affinity to setup node distance

Form 1 affinity allows multiple entries in ibm,associativity-reference-points
which represent affinity domains in decreasing order of importance. The
Linux concept of a node is always the first entry, but using the other
values as an input to node_distance() allows the memory allocator to make
better decisions on which node to go first when local memory has been
exhausted.

We keep things simple and create an array indexed by NUMA node, capped at
4 entries. Each time we lookup an associativity property we initialise
the array which is overkill, but since we should only hit this path during
boot it didn't seem worth adding a per node valid bit.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/topology.h
arch/powerpc/mm/numa.c