summaryrefslogtreecommitdiffstats
path: root/kernel/rcupreempt_trace.c
diff options
context:
space:
mode:
authorMel Gorman2008-01-30 13:33:25 +0100
committerIngo Molnar2008-01-30 13:33:25 +0100
commit1b000a5dbeb2f34bc03d45ebdf3f6d24a60c3aed (patch)
treeb5641d5d0548110b3bb33ba4abf3b37f2b34c0d5 /kernel/rcupreempt_trace.c
parentx86: make printk_address available on X86_32 (diff)
downloadkernel-qcow2-linux-1b000a5dbeb2f34bc03d45ebdf3f6d24a60c3aed.tar.gz
kernel-qcow2-linux-1b000a5dbeb2f34bc03d45ebdf3f6d24a60c3aed.tar.xz
kernel-qcow2-linux-1b000a5dbeb2f34bc03d45ebdf3f6d24a60c3aed.zip
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>
Diffstat (limited to 'kernel/rcupreempt_trace.c')
0 files changed, 0 insertions, 0 deletions