[PATCH v2] powerpc/64s: introduce CONFIG_MAXSMP to test very large SMP
Christophe Leroy
christophe.leroy at csgroup.eu
Wed Nov 10 03:16:23 AEDT 2021
Le 09/11/2021 à 07:51, Nicholas Piggin a écrit :
> 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 at 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"
>
More information about the Linuxppc-dev
mailing list