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

From: Jinjie Ruan

Date: Wed Jul 08 2026 - 05:37:26 EST




On 7/7/2026 6:37 PM, Will Deacon wrote:
> On Tue, Jul 07, 2026 at 04:14:06PM +0800, Jinjie Ruan wrote:
>>
>>
>> On 7/7/2026 1:39 AM, Will Deacon wrote:
>>> Hi Jinjie,
>>>
>>> On Thu, Jun 25, 2026 at 09:34:36AM +0800, Jinjie Ruan wrote:
>>>> On 6/24/2026 8:16 PM, Will Deacon wrote:
>>>>> Please just give me the time I asked for. If you want to help out in the
>>>>> meantime, there are plenty of patches that need reviewing...
>>>>
>>>> It was a mistake on my part, and I sincerely apologize for wasting
>>>> community review resources and disrupting your schedule.
>>>>
>>>> I will absolutely back off now and wait for your official series. Lesson
>>>> learned. Thanks for your patience and for calling me out on this.
>>>
>>> So I've mostly got the old series back on its feet:
>>>
>>> https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/log/?h=cpu-hotplug
>>
>> Hi Will,
>>
>> I tested the above-mentioned latest patch on v7.2-rc1 with error inject
>> on QEMU, which constructed the following errors:
>>
>> 1、CPU4 does not support 52-bit VA
>>
>> 2、CPU6 does not support 4K granule
>>
>> 3、CPU16 and CPU17 call cpu_die_early() early in check_early_cpu_features().
>>
>> 4、CPU18 call cpu_panic_kernel() early in check_early_cpu_features().
>>
>> The error output is not correct especially for CPU4, CPU6, and CPU18 as
>> below, it seems that some error messages are overlapping on the same
>> CPU, and some errors are causing the CPU to be misidentified.:
>>
>> (This leaves another blind spot where the 'failed to report alive state'
>> message is skipped for CPU16 and CPU17, as pointed out in
>> https://lore.kernel.org/all/bddf7a68-7789-4ec2-819c-aaaee8173c70@xxxxxxxxxx/):
>>
>> [ 0.594323] CPU16: will not boot
>> [ 0.605818] CPU17: will not boot
>>
>> ...
>>
>> [ 11.052387] CPU4 failed to report alive state
>> [ 11.059799] Parallel CPU bringup failed; consider passing
>> "cpuhp.parallel=off" for a more accurate diagnosis.
>> [ 11.060179] CPU4 detected lack of support for 52-bit VAs
>> [ 11.060426] CPU4 detected lack of support for 4K granules
>>
>> [ 11.061103] Kernel panic - not syncing: CPU4 detected unsupported
>> configuration
>> [ 11.061534] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted
>> 7.2.0-rc1-00019-g52296829d92b #305 PREEMPT
>> [ 11.062052] Hardware name: linux,dummy-virt (DT)
>> [ 11.062230] Call trace:
>> [ 11.062339] show_stack+0x18/0x24 (C)
>> [ 11.062528] dump_stack_lvl+0x11c/0x168
>> [ 11.062684] dump_stack+0x18/0x24
>> [ 11.062818] vpanic+0x568/0x574
>> [ 11.062947] do_panic_on_target_cpu+0x0/0x1c
>> [ 11.063111] secondary_start_kernel+0x0/0x188
>> [ 11.063276] cpuhp_bringup_ap+0x244/0x254
>> [ 11.063430] cpuhp_invoke_callback+0x168/0x2ac
>> [ 11.063594] __cpuhp_invoke_callback_range+0x90/0x118
>> [ 11.063776] _cpu_up+0xec/0x1b8
>> [ 11.063905] cpu_up+0xcc/0x158
>> [ 11.064032] cpuhp_bringup_mask+0x9c/0xe0
>> [ 11.064189] bringup_nonboot_cpus+0x12c/0x14c
>> [ 11.064352] smp_init+0x30/0x8c
>> [ 11.064481] kernel_init_freeable+0x18c/0x40c
>> [ 11.064645] kernel_init+0x24/0x1dc
>> [ 11.064785] ret_from_fork+0x10/0x20
>> [ 11.066612] SMP: stopping secondary CPUs
>> [ 11.068198] ---[ end Kernel panic - not syncing: CPU4 detected
>> unsupported configuration ]---
>
> I think this is actually working as intended. CPU4 has detected the
> problems and the system has panicked as expected. Systems like this are

Indeed, the system was already on the verge of collapse, and such
accurate CPU error information was not needed.

> horribly broken anyway, so if you _really_ need to identify the CPUs
> causing problems, you can disable parallel onlining on the cmdline (as
> the diagnostic message above suggests).

You are right! With cpuhp.parallel=0 we can obtain more accurate and
comprehensive startup error information as below, I agree with your
current approach to handling mistakes:

[ 10.707438] CPU4 failed to report alive state
[ 10.708939] CPU4 detected lack of support for 52-bit VAs
[ 10.709194] CPUs may be stuck in kernel

...

[ 21.013667] CPU6 failed to report alive state
[ 21.014489] CPU6 detected lack of support for 4K granules

...

[ 21.148989] CPU16: will not boot
[ 31.426165] CPU16 failed to report alive state
[ 31.432408] psci: CPU16 killed (polled 0 ms)
[ 31.432618] CPU16: died during early boot

[ 31.447677] CPU17: will not boot
[ 41.722466] CPU17 failed to report alive state
[ 41.722755] psci: CPU17 killed (polled 0 ms)
[ 41.722895] CPU17: died during early boot

[ 52.002883] CPU18 failed to report alive state
[ 52.003366] Kernel panic - not syncing: CPU18 detected unsupported
configuration


>
> Will