Thread (6 messages) flat view 6 messages, 3 authors, 2021-11-23

Re: [PATCH v2] powerpc/64s: introduce CONFIG_MAXSMP to test very large SMP

From: Christophe Leroy <hidden>
Date: 2021-11-09 16:16:53


Le 09/11/2021 à 07:51, Nicholas Piggin a écrit :
quoted hunk ↗ jump to hunk
Similarly to x86, add MAXSMP that should help flush out problems with
vary large SMP and other values associated with very big systems.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
Since v1:
- Reduce MAXSMP NR_CPUS to 8192 if COMPILE_TEST, to reduce compile errors
   that aren't caught by existing x86 builds.

Thanks,
Nick

  arch/powerpc/Kconfig                   | 8 ++++++++
  arch/powerpc/platforms/Kconfig.cputype | 9 +++++++--
  2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index b8f6185d3998..d585fcfa456f 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -64,6 +64,13 @@ config NEED_PER_CPU_EMBED_FIRST_CHUNK
  config NEED_PER_CPU_PAGE_FIRST_CHUNK
  	def_bool y if PPC64
  
+config MAXSMP
+	bool "Enable Maximum number of SMP Processors and NUMA Nodes"
+	depends on SMP && DEBUG_KERNEL && PPC_BOOK3S_64
+	help
+	  Enable maximum number of CPUS and NUMA Nodes for this architecture.
+	  If unsure, say N.
+
  config NR_IRQS
  	int "Number of virtual interrupt numbers"
  	range 32 1048576
@@ -666,6 +673,7 @@ config NUMA
  
  config NODES_SHIFT
  	int
+	default "10" if MAXSMP
  	default "8" if PPC64
  	default "4"
  	depends on NUMA
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index a208997ade88..14c275e0ff93 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -475,9 +475,14 @@ config SMP
  
  	  If you don't know what to do here, say N.
  
+# MAXSMP sets 8192 if COMPILE_TEST because that's what x86 has flushed out.
+# Exceeding that will cause a lot of compile errors. Have to deal with those
+# first.
  config NR_CPUS
-	int "Maximum number of CPUs (2-8192)" if SMP
-	range 2 8192 if SMP
+	int "Maximum number of CPUs (2-8192)" if SMP && !MAXSMP
+	range 2 16384 if SMP
+	default 16384 if MAXSMP && !COMPILE_TEST
+	default 8192 if MAXSMP && COMPILE_TEST
You can do less complex. First hit becomes the default, so you can do:

	default 8192 if MAXSMP && COMPILE_TEST
	default 16384 if MAXSMP

So when everything is fixed, you just have to drop first line.
  	default "1" if !SMP
  	default "32" if PPC64
  	default "4"
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help