[PATCH v3] RISC-V: Increase range and default value of NR_CPUS

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Thu Apr 21 00:04:55 PDT 2022



On 4/20/22 13:24, Anup Patel wrote:
> Currently, the range and default value of NR_CPUS is too restrictive
> for high-end RISC-V systems with large number of HARTs. The latest
> QEMU virt machine supports upto 512 CPUs so the current NR_CPUS is
> restrictive for QEMU as well. Other major architectures (such as
> ARM64, x86_64, MIPS, etc) have a much higher range and default
> value of NR_CPUS.
> 
> This patch increases NR_CPUS range to 2-512 and default value to
> XLEN (i.e. 32 for RV32 and 64 for RV64).
> 
> Signed-off-by: Anup Patel <apatel at ventanamicro.com>

Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>

> ---
> Changes since v2:
>   - Rebased on Linux-5.18-rc3
>   - Use a different range when SBI v0.1 is enabled
> Changes since v1:
>   - Updated NR_CPUS range to 2-512 which reflects maximum number of
>     CPUs supported by QEMU virt machine.
> ---
>   arch/riscv/Kconfig | 9 ++++++---
>   1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 00fd9c548f26..1823f281069f 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -275,10 +275,13 @@ config SMP
>   	  If you don't know what to do here, say N.
>   
>   config NR_CPUS
> -	int "Maximum number of CPUs (2-32)"
> -	range 2 32
> +	int "Maximum number of CPUs (2-512)"
>   	depends on SMP
> -	default "8"
> +	range 2 512 if !SBI_V01
> +	range 2 32 if SBI_V01 && 32BIT
> +	range 2 64 if SBI_V01 && 64BIT
> +	default "32" if 32BIT
> +	default "64" if 64BIT
>   
>   config HOTPLUG_CPU
>   	bool "Support for hot-pluggable CPUs"



More information about the linux-riscv mailing list