]> git.baikalelectronics.ru Git - kernel.git/commit
x86, numa: Fix cpu nodemasks for NUMA emulation and CONFIG_DEBUG_PER_CPU_MAPS
authorDavid Rientjes <rientjes@google.com>
Thu, 21 Apr 2011 02:19:13 +0000 (19:19 -0700)
committerIngo Molnar <mingo@elte.hu>
Thu, 21 Apr 2011 09:31:00 +0000 (11:31 +0200)
commit8aa1f019b998735166d12038b467e0766e8f7f23
tree2af07ffdf6a89ecbdfd18caa277bd5eeb15eba0c
parent93c2b2d44c3c484f0284746a78260de54eb2eea3
x86, numa: Fix cpu nodemasks for NUMA emulation and CONFIG_DEBUG_PER_CPU_MAPS

The cpu<->node mappings under CONFIG_DEBUG_PER_CPU_MAPS=y
when NUMA emulation is enabled is currently broken because it does
not iterate through every emulated node and bind cpus that have
affinity to it.

NUMA emulation should bind each cpu to every local node to
accurately represent the true NUMA topology of the underlying
machine.

debug_cpumask_set_cpu() needs to be fixed at the same time so
that the debugging information that it emits shows the new
cpumask of the node being assigned when the cpu is being added
or removed.

It can now take responsibility of setting or clearing the cpu
itself to remove the need for duplicate code.

Also change its last parameter, "enable", to have the correct bool
type since it can only be true or false.

 -v2: Fix the return statements, by Kosaki Motohiro

Acked-and-Tested-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: David Rientjes <rientjes@google.com>
Cc: Andreas Herrmann <herrmann.der.user@googlemail.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/alpine.DEB.2.00.1104201918470.12634@chino.kir.corp.google.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/numa.h
arch/x86/mm/numa.c
arch/x86/mm/numa_emulation.c