Messages in this thread | | | Date | Mon, 29 Apr 2019 16:50:03 -0700 (PDT) | Subject | Re: [PATCH v3 2/3] RISC-V: Implement nosmp commandline option. | From | Palmer Dabbelt <> |
| |
On Tue, 23 Apr 2019 17:02:26 PDT (-0700), atish.patra@wdc.com wrote: > nosmp command line option sets max_cpus to zero. No secondary harts > will boot if this is enabled. But present cpu mask will still point to > all possible masks. > > Fix present cpu mask for nosmp usecase. > > Signed-off-by: Atish Patra <atish.patra@wdc.com> > --- > arch/riscv/kernel/smpboot.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/arch/riscv/kernel/smpboot.c b/arch/riscv/kernel/smpboot.c > index eb533b5c2c8c..a8ad200581aa 100644 > --- a/arch/riscv/kernel/smpboot.c > +++ b/arch/riscv/kernel/smpboot.c > @@ -47,6 +47,17 @@ void __init smp_prepare_boot_cpu(void) > > void __init smp_prepare_cpus(unsigned int max_cpus) > { > + int cpuid; > + > + /* This covers non-smp usecase mandated by "nosmp" option */ > + if (max_cpus == 0) > + return; > + > + for_each_possible_cpu(cpuid) { > + if (cpuid == smp_processor_id()) > + continue; > + set_cpu_present(cpuid, true); > + } > } > > void __init setup_smp(void) > @@ -74,7 +85,6 @@ void __init setup_smp(void) > > cpuid_to_hartid_map(cpuid) = hart; > set_cpu_possible(cpuid, true); > - set_cpu_present(cpuid, true); > cpuid++; > }
Thanks. I've taken all three of these into for-next.
| |