aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-09-26 12:35:07 -0400
committerIngo Molnar <mingo@elte.hu>2009-09-27 03:55:11 -0400
commitd949f36f1865c60239d4265b50c4b75354fcb8f3 (patch)
tree176a784ce7f6a71dc3ff544b70606f71025a13d8
parent0d9df2515dbceb67d343c0f10fd3ff218380d524 (diff)
x86: Fix hwpoison code related build failure on 32-bit NUMAQ
This build failure triggers: In file included from include/linux/suspend.h:8, from arch/x86/kernel/asm-offsets_32.c:11, from arch/x86/kernel/asm-offsets.c:2: include/linux/mm.h:503:2: error: #error SECTIONS_WIDTH+NODES_WIDTH+ZONES_WIDTH > BITS_PER_LONG - NR_PAGEFLAGS Because due to the hwpoison page flag we ran out of page flags on 32-bit. Dont turn on hwpoison on 32-bit NUMA (it's rare in any case). Also clean up the Kconfig dependencies in the generic MM code by introducing ARCH_SUPPORTS_MEMORY_FAILURE. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/Kconfig11
-rw-r--r--mm/Kconfig4
2 files changed, 14 insertions, 1 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 93698794aa3a..8da93745c087 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -432,6 +432,17 @@ config X86_NUMAQ
432 of Flat Logical. You will need a new lynxer.elf file to flash your 432 of Flat Logical. You will need a new lynxer.elf file to flash your
433 firmware with - send email to <Martin.Bligh@us.ibm.com>. 433 firmware with - send email to <Martin.Bligh@us.ibm.com>.
434 434
435config X86_SUPPORTS_MEMORY_FAILURE
436 bool
437 # MCE code calls memory_failure():
438 depends on X86_MCE
439 # On 32-bit this adds too big of NODES_SHIFT and we run out of page flags:
440 depends on !X86_NUMAQ
441 # On 32-bit SPARSEMEM adds too big of SECTIONS_WIDTH:
442 depends on X86_64 || !SPARSEMEM
443 select ARCH_SUPPORTS_MEMORY_FAILURE
444 default y
445
435config X86_VISWS 446config X86_VISWS
436 bool "SGI 320/540 (Visual Workstation)" 447 bool "SGI 320/540 (Visual Workstation)"
437 depends on X86_32 && PCI && X86_MPPARSE && PCI_GODIRECT 448 depends on X86_32 && PCI && X86_MPPARSE && PCI_GODIRECT
diff --git a/mm/Kconfig b/mm/Kconfig
index 247760729593..edd300aca173 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -244,10 +244,12 @@ config DEFAULT_MMAP_MIN_ADDR
244 This value can be changed after boot using the 244 This value can be changed after boot using the
245 /proc/sys/vm/mmap_min_addr tunable. 245 /proc/sys/vm/mmap_min_addr tunable.
246 246
247config ARCH_SUPPORTS_MEMORY_FAILURE
248 bool
247 249
248config MEMORY_FAILURE 250config MEMORY_FAILURE
249 depends on MMU 251 depends on MMU
250 depends on X86_MCE 252 depends on ARCH_SUPPORTS_MEMORY_FAILURE
251 bool "Enable recovery from hardware memory errors" 253 bool "Enable recovery from hardware memory errors"
252 help 254 help
253 Enables code to recover from some memory failures on systems 255 Enables code to recover from some memory failures on systems