Re: [PATCH v2] riscv: print hartid on bringup

Alexandre Ghiti
2025-03-25T09:59:50Z

Hi Yunhui,

On 03/03/2025 09:34, Yunhui Cui wrote:
> Firmware randomly releases cores, so CPU numbers don't linearly map
> to hartids. When the system has an exception, we care more about hartids.
> Adding "dyndbg="file smpboot.c +p" loglevel=8" to the cmdline can output
> the hartid.
>
> Signed-off-by: Yunhui Cui <cuiyunhui@bytedance.com>
> ---
> arch/riscv/kernel/smp.c | 2 ++
> arch/riscv/kernel/smpboot.c | 4 ++++
> 2 files changed, 6 insertions(+)
>
> diff --git a/arch/riscv/kernel/smp.c b/arch/riscv/kernel/smp.c
> index d58b5e751286..e650dec44817 100644
> --- a/arch/riscv/kernel/smp.c
> +++ b/arch/riscv/kernel/smp.c
> @@ -48,6 +48,8 @@ EXPORT_SYMBOL_GPL(__cpuid_to_hartid_map);
> void __init smp_setup_processor_id(void)
> {
> cpuid_to_hartid_map(0) = boot_cpu_hartid;
> +
> + pr_info("Booting Linux on hartid %lu\n", boot_cpu_hartid);
> }
>
> static DEFINE_PER_CPU_READ_MOSTLY(int, ipi_dummy_dev);
> diff --git a/arch/riscv/kernel/smpboot.c b/arch/riscv/kernel/smpboot.c
> index e36d20205bd7..601a321e0f17 100644
> --- a/arch/riscv/kernel/smpboot.c
> +++ b/arch/riscv/kernel/smpboot.c
> @@ -231,6 +231,10 @@ asmlinkage __visible void smp_callin(void)
> riscv_ipi_enable();
>
> numa_add_cpu(curr_cpuid);
> +
> + pr_debug("CPU%u: Booted secondary hartid %lu\n", curr_cpuid,
> + cpuid_to_hartid_map(curr_cpuid));
> +
> set_cpu_online(curr_cpuid, true);
>
> /*

Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com>

Thanks,

Alex