linux/arch/x86
Mel Gorman 1b000a5dbe x86: make NUMA work on 32-bit
The DISCONTIG memory model on x86 32 bit uses a remap allocator early
in boot. The objective is that portions of every node are mapped in to
the kernel virtual area (KVA) in place of ZONE_NORMAL so that node-local
allocations can be made for pgdat and mem_map structures.

With SPARSEMEM, the amount that is set aside is insufficient for all the
mem_maps to be allocated. During the boot process, it falls back to using
the bootmem allocator. This breaks assumptions that SPARSEMEM makes about
the layout of the mem_map in memory and results in a VM_BUG_ON triggering
due to pfn_to_page() returning garbage values.

This patch only enables the remap allocator for use with DISCONTIG.

Without SRAT support, a compile-error occurs because ACPI table parsing
functions are only available in x86-64. This patch also adds no-op stubs
and prints a warning message. What likely needs to be done is sharing
the table parsing functions between 32 and 64 bit if they are
compatible.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-01-30 13:33:25 +01:00
..
boot x86: remove unneded casts 2008-01-30 13:33:23 +01:00
configs x86: Set CFQ as default in 32-bit defconfig 2008-01-30 13:32:49 +01:00
crypto [CRYPTO] twofish: Merge common glue code 2008-01-14 17:07:57 +11:00
ia32 x86: remove unneded casts 2008-01-30 13:33:23 +01:00
kernel x86: make printk_address available on X86_32 2008-01-30 13:33:25 +01:00
lguest x86: change write_gdt_entry signature. 2008-01-30 13:31:13 +01:00
lib x86: remove unneded casts 2008-01-30 13:33:23 +01:00
mach-default spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
mach-es7000 i386: es7000 minor cleanups 2007-10-17 20:16:15 +02:00
mach-generic spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
mach-visws x86: cleanup mpspec variants 2008-01-30 13:30:35 +01:00
mach-voyager x86: convert TSC disabling to generic cpuid disable bitmap 2008-01-30 13:33:20 +01:00
math-emu x86: arch/x86/math-emu/errors.c: fix printk warnings 2008-01-30 13:32:13 +01:00
mm x86: make NUMA work on 32-bit 2008-01-30 13:33:25 +01:00
oprofile x86: rename stack_pointer to kernel_trap_sp 2008-01-30 13:33:16 +01:00
pci x86: serverworks: IRQ routing needs no _p 2008-01-30 13:33:14 +01:00
power x86: make __{save,restore}_processor_state static 2008-01-30 13:31:23 +01:00
vdso x86: add vdso32-int80-syms.lds to .gitignore 2008-01-30 13:33:24 +01:00
video i386: move video 2007-10-11 11:16:56 +02:00
xen xen: fix section usage in xen-head.S and setup.c 2008-01-30 13:33:25 +01:00
Kconfig percpu: use a kconfig variable to signal arch specific percpu setup 2008-01-30 13:32:51 +01:00
Kconfig.cpu x86: reduce CONFIG_X86_PPRO_FENCE bloat 2008-01-30 13:32:31 +01:00
Kconfig.debug x86: add debug of invalid per_cpu map accesses 2008-01-30 13:33:22 +01:00
Makefile x86: document fdimage/isoimage completely in make help 2008-01-30 13:32:49 +01:00
Makefile_32.cpu x86: move i386 and x86_64 Makefiles to arch/x86 2007-10-25 22:27:34 +02:00