All of lore.kernel.org
 help / color / mirror / Atom feed
From: Josh Boyer <jwboyer@redhat.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	prarit@redhat.com, x86@kernel.org, linux-kernel@vger.kernel.org,
	Russ Anderson <rja@sgi.com>
Subject: [PATCH v3] x86/cpu: Allow higher NR_CPUS values
Date: Wed, 6 Nov 2013 10:21:14 -0500	[thread overview]
Message-ID: <20131106152113.GQ9944@hansolo.jdub.homelinux.org> (raw)
In-Reply-To: <20131106071540.GA3053@gmail.com>

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.  Relatedly, we no longer make
that option depend on DEBUG_PER_CPU_MASKS.

Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
---
 v3: Make sure CPUMASK_OFFSTACK still depends on SMP

 arch/x86/Kconfig | 6 ++++--
 lib/Kconfig      | 3 ++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index f67e839..f03e428 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -825,14 +825,16 @@ config MAXSMP
 config NR_CPUS
 	int "Maximum number of CPUs" if SMP && !MAXSMP
 	range 2 8 if SMP && X86_32 && !X86_BIGSMP
-	range 2 512 if SMP && !MAXSMP
+	range 2 512 if SMP && !MAXSMP && !CPUMASK_OFFSTACK
+	range 2 4096 if SMP && !MAXSMP && CPUMASK_OFFSTACK && X86_64
 	default "1" if !SMP
 	default "4096" if MAXSMP
 	default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000)
 	default "8" if SMP
 	---help---
 	  This allows you to specify the maximum number of CPUs which this
-	  kernel will support.  The maximum supported value is 512 and the
+	  kernel will support.  If CPUMASK_OFFSTACK is enabled, the maximum
+	  supported value is 4096, otherwise the maximum value is 512.  The
 	  minimum value which makes sense is 2.
 
 	  This is purely to save memory - each supported CPU adds
diff --git a/lib/Kconfig b/lib/Kconfig
index b3c8be0..50b47cd 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -342,7 +342,8 @@ config CHECK_SIGNATURE
 	bool
 
 config CPUMASK_OFFSTACK
-	bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
+	bool "Force CPU masks off stack"
+	depends on SMP
 	help
 	  Use dynamic allocation for cpumask_var_t, instead of putting
 	  them on the stack.  This is a bit more expensive, but avoids
-- 
1.8.3.1


  parent reply	other threads:[~2013-11-06 15:21 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-01 14:11 [PATCH] x86: Allow NR_CPUS=1024 Josh Boyer
2013-11-03 10:18 ` Ingo Molnar
2013-11-03 10:21   ` Ingo Molnar
2013-11-03 15:57     ` Josh Boyer
2013-11-03 17:43       ` H. Peter Anvin
2013-11-04  6:51         ` Ingo Molnar
2013-11-04 16:31           ` H. Peter Anvin
2013-11-04  6:53       ` Ingo Molnar
2013-11-04 14:01         ` Josh Boyer
2013-11-04 14:10           ` Ingo Molnar
2013-11-04 14:16             ` Josh Boyer
2013-11-04 14:54               ` Prarit Bhargava
2013-11-04 15:56               ` Russ Anderson
2013-11-04 17:48                 ` Ingo Molnar
2013-11-04 19:08                   ` H. Peter Anvin
2013-11-04 20:11                     ` Ingo Molnar
2013-11-04 22:50                       ` H. Peter Anvin
2013-11-05  6:25                         ` Ingo Molnar
2013-11-05  6:31                           ` Li Zefan
2013-11-03 14:29   ` Prarit Bhargava
2013-11-03 14:42     ` Russ Anderson
2013-11-05 14:37 ` [PATCH 1/2 v2] x86: Allow higher NR_CPUS values Josh Boyer
2013-11-05 14:38   ` [PATCH 2/2] x86: Increase MAXSMP CPU count to 8192 Josh Boyer
2013-11-06  5:56     ` [PATCH v2 " Ingo Molnar
2013-11-06 14:10       ` Josh Boyer
2013-11-06 11:20     ` [tip:x86/cpu] x86/cpu: Increase max " tip-bot for Josh Boyer
2013-11-06  7:15   ` [PATCH 1/2 v2] x86: Allow higher NR_CPUS values Ingo Molnar
2013-11-06 14:12     ` Josh Boyer
2013-11-06 15:04       ` Josh Boyer
2013-11-06 15:21     ` Josh Boyer [this message]
2013-11-07  9:15       ` [PATCH v3] x86/cpu: " Ingo Molnar
2013-11-07 13:51         ` Josh Boyer
2013-11-06 11:20   ` [tip:x86/cpu] " tip-bot for Josh Boyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131106152113.GQ9944@hansolo.jdub.homelinux.org \
    --to=jwboyer@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mingo@redhat.com \
    --cc=prarit@redhat.com \
    --cc=rja@sgi.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.