Skip to content

Commit bb61ccc

Browse files
jwboyerIngo Molnar
authored andcommitted
x86/cpu: Allow higher NR_CPUS values
The current range for SMP configs is 2 - 512 CPUs, or a full 4096 in the case of MAXSMP. There are machines that have 1024 CPUs in them today and configuring a kernel for that means you are forced to set MAXSMP. This adds additional unnecessary overhead. While that overhead might be considered tiny for large machines, it isn't necessarily so if you are building a kernel that runs across a wide variety of machines. To cover the range of more common machines today, we allow NR_CPUS to be up to 4096 when CPUMASK_OFFSTACK is enabled. Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> Cc: prarit@redhat.com Cc: Russ Anderson <rja@sgi.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Link: http://lkml.kernel.org/r/20131105143728.GJ9944@hansolo.jdub.homelinux.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent a477c85 commit bb61ccc

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

arch/x86/Kconfig

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -825,14 +825,16 @@ config MAXSMP
825825
config NR_CPUS
826826
int "Maximum number of CPUs" if SMP && !MAXSMP
827827
range 2 8 if SMP && X86_32 && !X86_BIGSMP
828-
range 2 512 if SMP && !MAXSMP
828+
range 2 512 if SMP && !MAXSMP && !CPUMASK_OFFSTACK
829+
range 2 4096 if SMP && !MAXSMP && CPUMASK_OFFSTACK && X86_64
829830
default "1" if !SMP
830831
default "4096" if MAXSMP
831832
default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000)
832833
default "8" if SMP
833834
---help---
834835
This allows you to specify the maximum number of CPUs which this
835-
kernel will support. The maximum supported value is 512 and the
836+
kernel will support. If CPUMASK_OFFSTACK is enabled, the maximum
837+
supported value is 4096, otherwise the maximum value is 512. The
836838
minimum value which makes sense is 2.
837839

838840
This is purely to save memory - each supported CPU adds

0 commit comments

Comments
 (0)