[PATCH 3/4] x86-32: Remove restrictions on ARCH_SUPPORTS_MEMORY_FAILURE

From: Tejun Heo
Date: Thu Mar 31 2011 - 14:03:40 EST


d949f36f18 (x86: Fix hwpoison code related build failure on 32-bit
NUMAQ) disabled ARCH_SUPPORTS_MEMORY_FAILURE on some 32bit
configurations because the extra page flag usage triggered build
failure when combined with memory section/node bits.

The root cause of build failures depending on config options is
SECTIONS_WIDTH difference depending on X86_PAE. As the previous patch
removes the problem, we can remove the restrictions on MEMORY_FAILURE.

This makes the configuration more consistent. For example,
TRANSPARENT_HUGEPAGE also consumes a page flag but didn't trigger
build failure thanks to the removal of PG_buddy and Kconfig ends up
enforcing rather arbitrary preference for TRANSPARENT_HUGEPAGE over
MEMORY_FAILURE.

Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Yinghai Lu <yinghai@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
---
arch/x86/Kconfig | 11 +----------
1 files changed, 1 insertions(+), 10 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 0db96ae..7f83405 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -446,16 +446,6 @@ config X86_NUMAQ
of Flat Logical. You will need a new lynxer.elf file to flash your
firmware with - send email to <Martin.Bligh@xxxxxxxxxx>.

-config X86_SUPPORTS_MEMORY_FAILURE
- def_bool y
- # MCE code calls memory_failure():
- depends on X86_MCE
- # On 32-bit this adds too big of NODES_SHIFT and we run out of page flags:
- depends on !X86_NUMAQ
- # On 32-bit SPARSEMEM adds too big of SECTIONS_WIDTH:
- depends on X86_64 || !SPARSEMEM
- select ARCH_SUPPORTS_MEMORY_FAILURE
-
config X86_VISWS
bool "SGI 320/540 (Visual Workstation)"
depends on X86_32 && PCI && X86_MPPARSE && PCI_GODIRECT
@@ -845,6 +835,7 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS

config X86_MCE
bool "Machine Check / overheating reporting"
+ select ARCH_SUPPORTS_MEMORY_FAILURE
---help---
Machine Check support allows the processor to notify the
kernel if it detects a problem (e.g. overheating, data corruption).
--
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/