Commit 34b254ca authored by Andrew Morton's avatar Andrew Morton Committed by Dave Jones

[PATCH] Tighten CONFIG_NUMA preconditions

Patch from Martin J. Bligh and Dave Hansen

People with ordinary PCs are accidentally turning on NUMA support, and people
with NUMA machines are finding the NUMA option mysteriously disappearing.
This patch sets the defaults to sane things for everyone, and only allows you
to turn on NUMA with both SMP and 64Gb support on (it's useful for the
distros on non-Summit boxes, but not on their UP kernels ;-)).

I've also moved it below the highmem options, as it logically depends on
them, so this makes more sense.  For those searching for NUMA support on
*real* NUMA machine, Dave has provided some guiding comments to show them
what they messed up (it's totally non-obvious).  Hopefully this will stop
people's recent unfortunate foot-wounds (I think UP machines were defaulting
to NUMA on ...  oops).
parent 5d954f33
...@@ -476,21 +476,6 @@ config NR_CPUS ...@@ -476,21 +476,6 @@ config NR_CPUS
This is purely to save memory - each supported CPU adds This is purely to save memory - each supported CPU adds
approximately eight kilobytes to the kernel image. approximately eight kilobytes to the kernel image.
# Common NUMA Features
config NUMA
bool "Numa Memory Allocation Support"
depends on (HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT && ACPI && !ACPI_HT_ONLY))) || X86_PC
config DISCONTIGMEM
bool
depends on NUMA
default y
config HAVE_ARCH_BOOTMEM_NODE
bool
depends on NUMA
default y
config X86_TSC config X86_TSC
bool bool
depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2) && !X86_NUMAQ depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2) && !X86_NUMAQ
...@@ -680,6 +665,30 @@ config X86_PAE ...@@ -680,6 +665,30 @@ config X86_PAE
depends on HIGHMEM64G depends on HIGHMEM64G
default y default y
# Common NUMA Features
config NUMA
bool "Numa Memory Allocation Support"
depends on SMP && HIGHMEM64G && (X86_PC || X86_NUMAQ || (X86_SUMMIT && ACPI && !ACPI_HT_ONLY))
default n if X86_PC
default y if (X86_NUMAQ || X86_SUMMIT)
# Need comments to help the hapless user trying to turn on NUMA support
comment "NUMA (NUMA-Q) requires SMP, 64GB highmem support"
depends on X86_NUMAQ && (!HIGHMEM64G || !SMP)
comment "NUMA (Summit) requires SMP, 64GB highmem support, full ACPI"
depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI || ACPI_HT_ONLY)
config DISCONTIGMEM
bool
depends on NUMA
default y
config HAVE_ARCH_BOOTMEM_NODE
bool
depends on NUMA
default y
config HIGHPTE config HIGHPTE
bool "Allocate 3rd-level pagetables from highmem" bool "Allocate 3rd-level pagetables from highmem"
depends on HIGHMEM4G || HIGHMEM64G depends on HIGHMEM4G || HIGHMEM64G
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment