linux/arch/x86/mm
Tejun Heo 56396e6823 x86-64, NUMA: Don't call numa_set_distanc() for all possible node combinations during emulation
The distance transforming in numa_emulation() used to call
numa_set_distance() for all MAX_NUMNODES * MAX_NUMNODES node
combinations regardless of which are enabled.  As numa_set_distance()
ignores all out-of-bound distance settings, this doesn't cause any
problem other than looping unnecessarily many times during boot.

However, as MAX_NUMNODES * MAX_NUMNODES can be pretty high, update the
code such that it iterates through only the enabled combinations.

Yinghai Lu identified the issue and provided an initial patch to
address the issue; however, the patch was incorrect in that it didn't
build emulated distance table when there's no physical distance table
and unnecessarily complex.

  http://thread.gmane.org/gmane.linux.kernel/1107986/focus=1107988

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Yinghai Lu <yinghai@kernel.org>
Acked-by: Yinghai Lu <yinghai@kernel.org>
2011-03-12 11:41:10 +01:00
..
kmemcheck
amdtopology_64.c x86-64, NUMA: Unify emulated distance mapping 2011-02-16 17:11:10 +01:00
dump_pagetables.c
extable.c
fault.c
gup.c thp: mmu_notifier_test_young 2011-01-13 17:32:46 -08:00
highmem_32.c
hugetlbpage.c
init_32.c x86: Rename e820_table_* to pgt_buf_* 2011-02-24 14:52:18 +01:00
init_64.c x86-64, NUMA: Revert NUMA affine page table allocation 2011-03-04 10:26:36 +01:00
init.c x86: Rename e820_table_* to pgt_buf_* 2011-02-24 14:52:18 +01:00
iomap_32.c
ioremap.c
kmmio.c
Makefile x86-64, NUMA: Move NUMA emulation into numa_emulation.c 2011-02-22 11:10:08 +01:00
memblock.c
memtest.c
mmap.c
mmio-mod.c
numa_32.c x86, NUMA: Move *_numa_init() invocations into initmem_init() 2011-02-16 12:13:06 +01:00
numa_64.c x86-64, NUMA: Clean up initmem_init() 2011-03-04 15:17:21 +01:00
numa_emulation.c x86-64, NUMA: Don't call numa_set_distanc() for all possible node combinations during emulation 2011-03-12 11:41:10 +01:00
numa_internal.h x86-64, NUMA: Move NUMA emulation into numa_emulation.c 2011-02-22 11:10:08 +01:00
numa.c x86, numa: Add error handling for bad cpu-to-node mappings 2011-02-14 13:29:27 +01:00
pageattr-test.c
pageattr.c x86, nx: Don't force pages RW when setting NX bits 2011-02-02 16:02:36 -08:00
pat_internal.h
pat_rbtree.c
pat.c
pf_in.c
pf_in.h
pgtable_32.c
pgtable.c thp: add x86 32bit support 2011-01-13 17:32:44 -08:00
physaddr.c
physaddr.h
setup_nx.c
srat_32.c x86: Unify cpu/apicid <-> NUMA node mapping between 32 and 64bit 2011-01-28 14:54:09 +01:00
srat_64.c x86-64, NUMA: Unify emulated distance mapping 2011-02-16 17:11:10 +01:00
testmmiotrace.c
tlb.c x86: Avoid tlbstate lock if not enough cpus 2011-02-14 13:03:08 +01:00