x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA
authorTejun Heo <tj@kernel.org>
Fri, 14 Aug 2009 06:00:52 +0000 (15:00 +0900)
committerTejun Heo <tj@kernel.org>
Fri, 14 Aug 2009 06:00:52 +0000 (15:00 +0900)
commit4518e6a0c038b98be4c480e6f4481e8676bd15dd
tree81b222a74951186aa85b5dfddae1fcae3b7e8ea9
parentc8826dd538602d730ed2c18c6753f1bbfa6c4933
x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA

Embedding percpu first chunk allocator can now handle very sparse unit
mapping.  Use embedding allocator instead of lpage for 64bit NUMA.
This removes extra TLB pressure and the need to do complex and fragile
dancing when changing page attributes.

For 32bit, using very sparse unit mapping isn't a good idea because
the vmalloc space is very constrained.  32bit NUMA machines aren't
exactly the focus of optimization and it isn't very clear whether
lpage performs better than page.  Use page first chunk allocator for
32bit NUMAs.

As this leaves setup_pcpu_*() functions pretty much empty, fold them
into setup_per_cpu_areas().

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Andi Kleen <andi@firstfloor.org>
arch/x86/Kconfig
arch/x86/kernel/setup_percpu.c