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 <npig...@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
        default "1" if !SMP
        default "32" if PPC64
        default "4"
-- 
2.23.0

Reply via email to