[PATCH v3 12/12] arm64: Add HOTPLUG_PARALLEL support for secondary CPUs

Will Deacon will at kernel.org
Tue Jul 7 03:30:45 PDT 2026


On Tue, Jul 07, 2026 at 12:00:12PM +0800, Jinjie Ruan wrote:
> 
> 
> On 6/24/2026 5:25 PM, Jinjie Ruan wrote:
> > Support for parallel secondary CPU bringup is already utilized by x86,
> > MIPS and RISC-V. This patch brings this capability to the arm64
> > architecture.
> > 
> > To fully enable HOTPLUG_PARALLEL, this patch implements an arm64-specific
> > arch_cpuhp_init_parallel_bringup() handler.
> > 
> > In parallel bringup, early `set_cpu_present(cpu, 0)` inside
> > cpu_die_early() removes the secondary CPU prematurely, causing the primary
> > CPU's second-stage cpuhp_bringup_mask() sweep to skip it and drop
> > failure logs.
> 
> 
> Hi, Will,
> 
> In parallel bringup, cpu_die_early() calls set_cpu_present(cpu, 0),
> which removes the failing secondary CPU from the mask. This causes the
> primary CPU's cpuhp_bringup_mask() sweep to skip it and drop any failure
> log.
> 
> Have you seen this before, and what do you think about the fix?

Yes, I tried to fix this here:

https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/commit/?h=cpu-hotplug&id=7e1e4144a54a80e05017e56e0e28e759bd790daa

by moving the manipulation of the present mask to
arch_cpuhp_cleanup_kick_cpu(). I'd just like to nail down the RCU and
cpufeature issues before posting that lot.

Will



More information about the linux-arm-kernel mailing list