Commit a0d0bb4d authored by Randy Dunlap's avatar Randy Dunlap Committed by Ingo Molnar

x86/Kconfig: Simplify NR_CPUS config

Clean up and simplify the X86 NR_CPUS Kconfig symbol/option by
introducing RANGE_BEGIN_CPUS, RANGE_END_CPUS, and DEF_CONFIG_CPUS.
Then combine some default values when their conditionals can be
reduced.

Also move the X86_BIGSMP kconfig option inside an "if X86_32"/"endif"
config block and drop its explicit "depends on X86_32".

Combine the max. 8192 cases of RANGE_END_CPUS (X86_64 only).
Split RANGE_END_CPUS and DEF_CONFIG_CPUS into separate cases for
X86_32 and X86_64.
Suggested-by: default avatarLinus Torvalds <torvalds@linuxfoundation.org>
Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/0b833246-ed4b-e451-c426-c4464725be92@infradead.org
Link: lkml.kernel.org/r/CA+55aFzOd3j6ZUSkEwTdk85qtt1JywOtm3ZAb-qAvt8_hJ6D4A@mail.gmail.com
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent c80c5ec1
...@@ -423,12 +423,6 @@ config X86_MPPARSE ...@@ -423,12 +423,6 @@ config X86_MPPARSE
For old smp systems that do not have proper acpi support. Newer systems For old smp systems that do not have proper acpi support. Newer systems
(esp with 64bit cpus) with acpi support, MADT and DSDT will override it (esp with 64bit cpus) with acpi support, MADT and DSDT will override it
config X86_BIGSMP
bool "Support for big SMP systems with more than 8 CPUs"
depends on X86_32 && SMP
---help---
This option is needed for the systems that have more than 8 CPUs
config GOLDFISH config GOLDFISH
def_bool y def_bool y
depends on X86_GOLDFISH depends on X86_GOLDFISH
...@@ -460,6 +454,12 @@ config INTEL_RDT ...@@ -460,6 +454,12 @@ config INTEL_RDT
Say N if unsure. Say N if unsure.
if X86_32 if X86_32
config X86_BIGSMP
bool "Support for big SMP systems with more than 8 CPUs"
depends on SMP
---help---
This option is needed for the systems that have more than 8 CPUs
config X86_EXTENDED_PLATFORM config X86_EXTENDED_PLATFORM
bool "Support for extended (non-PC) x86 platforms" bool "Support for extended (non-PC) x86 platforms"
default y default y
...@@ -949,17 +949,44 @@ config MAXSMP ...@@ -949,17 +949,44 @@ config MAXSMP
Enable maximum number of CPUS and NUMA Nodes for this architecture. Enable maximum number of CPUS and NUMA Nodes for this architecture.
If unsure, say N. If unsure, say N.
config RANGE_END_CPUS
int
depends on X86_32
default 8 if SMP && !X86_BIGSMP
default 64 if SMP && X86_BIGSMP
default 1 if !SMP
config RANGE_END_CPUS
int
depends on X86_64
default 512 if SMP && !MAXSMP && !CPUMASK_OFFSTACK
default 8192 if SMP && (MAXSMP || CPUMASK_OFFSTACK)
default 1 if !SMP
config RANGE_BEGIN_CPUS
int
default 1 if !SMP
default RANGE_END_CPUS if MAXSMP
default 2
config DEF_CONFIG_CPUS
int
depends on X86_32
default 1 if !SMP
default 32 if X86_BIGSMP
default 8 if SMP
config DEF_CONFIG_CPUS
int
depends on X86_64
default 1 if !SMP
default 8192 if MAXSMP
default 64 if SMP
config NR_CPUS config NR_CPUS
int "Maximum number of CPUs" if SMP && !MAXSMP int "Maximum number of CPUs" if SMP && !MAXSMP
range 2 8 if SMP && X86_32 && !X86_BIGSMP range RANGE_BEGIN_CPUS RANGE_END_CPUS
range 2 64 if SMP && X86_32 && X86_BIGSMP default DEF_CONFIG_CPUS
range 2 512 if SMP && !MAXSMP && !CPUMASK_OFFSTACK && X86_64
range 2 8192 if SMP && !MAXSMP && CPUMASK_OFFSTACK && X86_64
default "1" if !SMP
default "8192" if MAXSMP
default "32" if SMP && X86_BIGSMP
default "8" if SMP && X86_32
default "64" if SMP
---help--- ---help---
This allows you to specify the maximum number of CPUs which this This allows you to specify the maximum number of CPUs which this
kernel will support. If CPUMASK_OFFSTACK is enabled, the maximum kernel will support. If CPUMASK_OFFSTACK is enabled, the maximum
......
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