linux/arch/x86
Tejun Heo 8ac8375714 x86: add remapping percpu first chunk allocator
Impact: add better first percpu allocation for NUMA

On NUMA, embedding allocator can't be used as different units can't be
made to fall in the correct NUMA nodes.  To use large page mapping,
each unit needs to be remapped.  However, percpu areas are usually
much smaller than large page size and unused space hurts a lot as the
number of cpus grow.  This allocator remaps large pages for each chunk
but gives back unused part to the bootmem allocator making the large
pages mapped twice.

This adds slightly to the TLB pressure but is much better than using
4k mappings while still being NUMA-friendly.

Ingo suggested that this would be the correct approach for NUMA.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Ingo Molnar <mingo@elte.hu>
2009-02-24 11:57:22 +09:00
..
boot x86 setup: fix asm constraints in vesa_store_edid 2009-01-30 23:55:25 +01:00
configs eeprom: More consistent symbol names 2009-01-26 21:19:57 +01:00
crypto crypto: crc32c-intel - Switch to shash 2008-12-25 11:01:37 +11:00
ia32 Merge branch 'x86/uaccess' into core/percpu 2009-02-10 00:40:48 +01:00
include/asm x86: update populate_extra_pte() and add populate_extra_pmd() 2009-02-24 11:57:21 +09:00
kernel x86: add remapping percpu first chunk allocator 2009-02-24 11:57:22 +09:00
kvm KVM: change KVM to use IOMMU API 2009-01-03 14:11:07 +01:00
lguest x86: make lazy %gs optional on x86_32 2009-02-10 00:42:00 +01:00
lib x86: use early clobbers in usercopy*.c 2009-01-21 09:43:17 +01:00
mach-default x86/Voyager: make it build and boot 2009-01-31 18:26:07 +01:00
mach-generic x86: rename all fields of mpc_table mpc_X to X 2009-01-05 14:08:34 +01:00
mach-rdc321x
mach-voyager Merge commit 'v2.6.29-rc4' into core/percpu 2009-02-09 14:58:11 +01:00
math-emu x86: add %gs accessors for x86_32 2009-02-10 00:41:58 +01:00
mm x86: update populate_extra_pte() and add populate_extra_pmd() 2009-02-24 11:57:21 +09:00
oprofile Merge branch 'oprofile/ring_buffer' into oprofile/oprofile-for-tip 2009-01-08 14:27:34 +01:00
pci PCI: irq and pci_ids patch for Intel Tigerpoint DeviceIDs 2009-01-27 09:46:08 -08:00
power x86, hibernate: fix breakage on x86_32 with CONFIG_NUMA set 2008-11-12 23:28:51 +01:00
vdso x86: no stack protector for vdso 2009-02-10 00:41:56 +01:00
video
xen x86: make lazy %gs optional on x86_32 2009-02-10 00:42:00 +01:00
Kconfig bootmem: clean up arch-specific bootmem wrapping 2009-02-24 11:57:20 +09:00
Kconfig.cpu Merge branch 'x86/urgent' into core/percpu 2009-02-10 00:41:02 +01:00
Kconfig.debug Merge branch 'linus' into stackprotector 2008-12-31 08:31:57 +01:00
Makefile stackprotector: update make rules 2009-02-10 00:41:54 +01:00
Makefile_32.cpu