mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
arm64: smp: Do not mark secondary CPUs possible under nosmp
Under nosmp (maxcpus=0), arm64 never brings up secondary CPUs. smp_prepare_cpus() already treats this as a UP-mandated boot and returns before marking secondary CPUs present. However, smp_init_cpus() may still enumerate firmware-described secondary CPUs and mark them possible before that point. Avoid marking secondary CPUs possible when nosmp/maxcpus=0 is in effect, so that cpu_possible_mask reflects the nosmp boot policy for this boot. Suggested-by: Catalin Marinas <catalin.marinas@arm.com> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Pengjie Zhang <zhangpengjie2@huawei.com> Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
parent
827ce94e08
commit
e7cec385d2
|
|
@ -745,15 +745,21 @@ void __init smp_init_cpus(void)
|
|||
else
|
||||
acpi_parse_and_init_cpus();
|
||||
|
||||
if (cpu_count > nr_cpu_ids)
|
||||
pr_warn("Number of cores (%d) exceeds configured maximum of %u - clipping\n",
|
||||
cpu_count, nr_cpu_ids);
|
||||
|
||||
if (!bootcpu_valid) {
|
||||
pr_err("missing boot CPU MPIDR, not enabling secondaries\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* For the nosmp/maxcpus=0 case, do not mark the secondary CPUs
|
||||
* possible.
|
||||
*/
|
||||
if (!setup_max_cpus)
|
||||
return;
|
||||
|
||||
if (cpu_count > nr_cpu_ids)
|
||||
pr_warn("Number of cores (%d) exceeds configured maximum of %u - clipping\n",
|
||||
cpu_count, nr_cpu_ids);
|
||||
/*
|
||||
* We need to set the cpu_logical_map entries before enabling
|
||||
* the cpus so that cpu processor description entries (DT cpu nodes
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user