From: David Rientjes Disables using alien cache for slab when NUMA emulation is being used. Cc: Andi Kleen Signed-off-by: Paul Menage Signed-off-by: David Rientjes Cc: Paul Jackson Cc: Christoph Lameter Signed-off-by: Andrew Morton --- arch/x86_64/mm/numa.c | 2 ++ mm/slab.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff -puN arch/x86_64/mm/numa.c~x86_64-disable-alien-cache-for-fake-numa arch/x86_64/mm/numa.c --- a/arch/x86_64/mm/numa.c~x86_64-disable-alien-cache-for-fake-numa +++ a/arch/x86_64/mm/numa.c @@ -277,6 +277,7 @@ void __init numa_init_array(void) PAGE_SHIFT) static struct bootnode physical_node_map[MAX_NUMNODES]; +extern int use_alien_caches; char *cmdline __initdata; int numa_emu; @@ -509,6 +510,7 @@ out: nodes[i].end >> PAGE_SHIFT); setup_node_bootmem(i, nodes[i].start, nodes[i].end); } + use_alien_caches = 0; numa_init_array(); return 0; } diff -puN mm/slab.c~x86_64-disable-alien-cache-for-fake-numa mm/slab.c --- a/mm/slab.c~x86_64-disable-alien-cache-for-fake-numa +++ a/mm/slab.c @@ -889,7 +889,7 @@ static void __slab_error(const char *fun * line */ -static int use_alien_caches __read_mostly = 1; +int use_alien_caches __read_mostly = 1; static int __init noaliencache_setup(char *s) { use_alien_caches = 0; _