Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d949f36f authored by Linus Torvalds's avatar Linus Torvalds Committed by Ingo Molnar
Browse files

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: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 0d9df251
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -432,6 +432,17 @@ config X86_NUMAQ
	  of Flat Logical.  You will need a new lynxer.elf file to flash your
	  firmware with - send email to <Martin.Bligh@us.ibm.com>.

config X86_SUPPORTS_MEMORY_FAILURE
	bool
	# 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
	default y

config X86_VISWS
	bool "SGI 320/540 (Visual Workstation)"
	depends on X86_32 && PCI && X86_MPPARSE && PCI_GODIRECT
+3 −1
Original line number Diff line number Diff line
@@ -244,10 +244,12 @@ config DEFAULT_MMAP_MIN_ADDR
	  This value can be changed after boot using the
	  /proc/sys/vm/mmap_min_addr tunable.

config ARCH_SUPPORTS_MEMORY_FAILURE
	bool

config MEMORY_FAILURE
	depends on MMU
	depends on X86_MCE
	depends on ARCH_SUPPORTS_MEMORY_FAILURE
	bool "Enable recovery from hardware memory errors"
	help
	  Enables code to recover from some memory failures on systems