summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morton <akpm@digeo.com>2003-03-17 21:20:20 -0800
committerDave Jones <davej@codemonkey.org.uk>2003-03-17 21:20:20 -0800
commit34b254caa82df44bc518512509c660fa44e19885 (patch)
tree2b0ed6794e5a01d8b8af60cba470eaca9b07b57d
parent5d954f33f8fa6990b1a9679595e71a5a0ef2a431 (diff)
[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).
-rw-r--r--arch/i386/Kconfig39
1 files changed, 24 insertions, 15 deletions
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
index d2ed950698d1..7741070702a8 100644
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -476,21 +476,6 @@ config NR_CPUS
This is purely to save memory - each supported CPU adds
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
bool
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
depends on HIGHMEM64G
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
bool "Allocate 3rd-level pagetables from highmem"
depends on HIGHMEM4G || HIGHMEM64G