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: Linus Torvalds <torvalds@linuxfoundation.org> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Acked-by: Linus 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: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
c80c5ec1b2
commit
a0d0bb4deb
@ -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
|
|||||||
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
|
|||||||
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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user