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

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

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
Loading
Loading
Loading
Loading
+42 −15
Original line number Diff line number Diff line
@@ -423,12 +423,6 @@ config X86_MPPARSE
	  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

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
       def_bool y
       depends on X86_GOLDFISH
@@ -460,6 +454,12 @@ config INTEL_RDT
	  Say N if unsure.

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
	bool "Support for extended (non-PC) x86 platforms"
	default y
@@ -949,17 +949,44 @@ config MAXSMP
	  Enable maximum number of CPUS and NUMA Nodes for this architecture.
	  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
	int "Maximum number of CPUs" if SMP && !MAXSMP
	range 2 8 if SMP && X86_32 && !X86_BIGSMP
	range 2 64 if SMP && X86_32 && X86_BIGSMP
	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
	range RANGE_BEGIN_CPUS RANGE_END_CPUS
	default DEF_CONFIG_CPUS
	---help---
	  This allows you to specify the maximum number of CPUs which this
	  kernel will support.  If CPUMASK_OFFSTACK is enabled, the maximum