Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jinjie Ruan <ruanjinjie@huawei.com>
To: Will Deacon <will@kernel.org>
Cc: <catalin.marinas@arm.com>, <tsbogend@alpha.franken.de>,
	<tglx@kernel.org>, <mingo@redhat.com>, <bp@alien8.de>,
	<dave.hansen@linux.intel.com>, <hpa@zytor.com>,
	<peterz@infradead.org>, <kees@kernel.org>, <nathan@kernel.org>,
	<linusw@kernel.org>, <ojeda@kernel.org>, <david.kaplan@amd.com>,
	<lukas.bulwahn@redhat.com>, <ryan.roberts@arm.com>,
	<maz@kernel.org>, <timothy.hayes@arm.com>,
	<lpieralisi@kernel.org>, <thuth@redhat.com>,
	<menglong8.dong@gmail.com>, <oupton@kernel.org>,
	<yeoreum.yun@arm.com>, <miko.lenczewski@arm.com>,
	<broonie@kernel.org>, <kevin.brodsky@arm.com>,
	<james.clark@linaro.org>, <yangyicong@hisilicon.com>,
	<tabba@google.com>, <osandov@fb.com>, <arnd@arndb.de>,
	<anshuman.khandual@arm.com>, <david@kernel.org>,
	<akpm@linux-foundation.org>, <ljs@kernel.org>, <dev.jain@arm.com>,
	<yang@os.amperecomputing.com>, <chaitanyas.prakash@arm.com>,
	<kprateek.nayak@amd.com>, <chenl311@chinatelecom.cn>,
	<sshegde@linux.ibm.com>, <thorsten.blum@linux.dev>,
	<chang.seok.bae@intel.com>, <tim.c.chen@linux.intel.com>,
	<x86@kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-mips@vger.kernel.org>
Subject: Re: [PATCH v3 00/12] arm64: Add HOTPLUG_PARALLEL support for secondary CPUs
Date: Tue, 7 Jul 2026 16:14:06 +0800	[thread overview]
Message-ID: <3bf910b8-c7e8-4a22-8e1d-fa701694369f@huawei.com> (raw)
In-Reply-To: <akvoN5vvQaW3MdmI@willie-the-truck>



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@huawei.com/):

[    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 ]---

The expected output is as below:

        CPU4 failed to report alive state
        CPU4: is stuck in kernel
        CPU4: does not support 52-bit VAs

        CPU6 failed to report alive state
        CPU6: is stuck in kernel
        CPU6: does not support 4K granule

        GICv3: CPU8: found redistributor 8 region 0:0x00000000081a0000
        GICv3: CPU8: using allocated LPI pending table @0x0000000100360000
        CPU8: Booted secondary processor 0x0000000008 [0x410fd034]
        ...
        CPU16 failed to report alive state
        psci: CPU16 killed (polled 0 ms)
        CPU16: died during early boot

        CPU17: will not boot
        CPU17 failed to report alive state
        psci: CPU17 killed (polled 0 ms)
        CPU17: died during early boot

        CPU18 failed to report alive state
        Kernel panic - not syncing: CPU18 detected unsupported configuration

Best regards,
Jinjie

> 
> but there are still two issues left to resolve:
> 
>   1. The printing that can happen before RCU has started. Although I've
>      reduced this somewhat, there are still error paths in e.g.
>      verify_local_cpu_capabilities() that print a message before dying.
> 
>   2. check_local_cpu_capabilities() can mutate the system capability
>      state via update_cpu_capabilities(), so it's really dodgy running
>      that prior to synchronisation.
> 
> Since you've added patches in this series that try to tackle these
> problems, I'll reply on those two so we can figure out how we would like
> to proceed.
> 
> Cheers,
> 
> Will



  reply	other threads:[~2026-07-07  8:14 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-24  9:25 [PATCH v3 00/12] arm64: Add HOTPLUG_PARALLEL support for secondary CPUs Jinjie Ruan
2026-06-24  9:25 ` [PATCH v3 01/12] cpu/hotplug: Introduce CONFIG_HOTPLUG_PARALLEL_SMT Jinjie Ruan
2026-06-24  9:25 ` [PATCH v3 02/12] cpu/hotplug: Propagate bring-up status to arch_cpuhp_cleanup_kick_cpu() Jinjie Ruan
2026-06-24  9:25 ` [PATCH v3 03/12] arm64: smp: Tidy up smp_prepare_cpus() Jinjie Ruan
2026-06-24  9:25 ` [PATCH v3 04/12] arm64: smp: Tidy up cpuinfo init and cpufeature updates Jinjie Ruan
2026-06-24  9:25 ` [PATCH v3 05/12] arm64: smp: Defer RCU registration during secondary CPU bringup Jinjie Ruan
2026-07-06 17:39   ` Will Deacon
2026-07-07  3:02     ` Jinjie Ruan
2026-06-24  9:25 ` [PATCH v3 06/12] arm64: smp: Use generic HOTPLUG_SPLIT_STARTUP machinery for CPU onlining Jinjie Ruan
2026-06-24  9:25 ` [PATCH v3 07/12] arm64: cpu_ops: Make 'cpu_operations' pointer global instead of per-cpu Jinjie Ruan
2026-06-24  9:25 ` [PATCH v3 08/12] arm64: cpu_ops: Introduce get_secondary_cpu_ops() Jinjie Ruan
2026-06-24  9:25 ` [PATCH v3 09/12] arm64: cpufeature: Ensure atomic updates to system_cpucaps bitmap Jinjie Ruan
2026-07-06 17:40   ` Will Deacon
2026-07-07  3:24     ` Jinjie Ruan
2026-06-24  9:25 ` [PATCH v3 10/12] arm64: smp: Pass CPU ID to update_cpu_boot_status() Jinjie Ruan
2026-06-24  9:25 ` [PATCH v3 11/12] arm64: smp: Rework early boot data into per-CPU arrays Jinjie Ruan
2026-06-24  9:25 ` [PATCH v3 12/12] arm64: Add HOTPLUG_PARALLEL support for secondary CPUs Jinjie Ruan
2026-07-07  4:00   ` Jinjie Ruan
2026-06-24 12:16 ` [PATCH v3 00/12] " Will Deacon
2026-06-24 14:59   ` Borislav Petkov
2026-06-25  1:34   ` Jinjie Ruan
2026-07-06 17:39     ` Will Deacon
2026-07-07  8:14       ` Jinjie Ruan [this message]
2026-06-29  4:04 ` Shrikanth Hegde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3bf910b8-c7e8-4a22-8e1d-fa701694369f@huawei.com \
    --to=ruanjinjie@huawei.com \
    --cc=akpm@linux-foundation.org \
    --cc=anshuman.khandual@arm.com \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=chaitanyas.prakash@arm.com \
    --cc=chang.seok.bae@intel.com \
    --cc=chenl311@chinatelecom.cn \
    --cc=dave.hansen@linux.intel.com \
    --cc=david.kaplan@amd.com \
    --cc=david@kernel.org \
    --cc=dev.jain@arm.com \
    --cc=hpa@zytor.com \
    --cc=james.clark@linaro.org \
    --cc=kees@kernel.org \
    --cc=kevin.brodsky@arm.com \
    --cc=kprateek.nayak@amd.com \
    --cc=linusw@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=ljs@kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=lukas.bulwahn@redhat.com \
    --cc=maz@kernel.org \
    --cc=menglong8.dong@gmail.com \
    --cc=miko.lenczewski@arm.com \
    --cc=mingo@redhat.com \
    --cc=nathan@kernel.org \
    --cc=ojeda@kernel.org \
    --cc=osandov@fb.com \
    --cc=oupton@kernel.org \
    --cc=peterz@infradead.org \
    --cc=ryan.roberts@arm.com \
    --cc=sshegde@linux.ibm.com \
    --cc=tabba@google.com \
    --cc=tglx@kernel.org \
    --cc=thorsten.blum@linux.dev \
    --cc=thuth@redhat.com \
    --cc=tim.c.chen@linux.intel.com \
    --cc=timothy.hayes@arm.com \
    --cc=tsbogend@alpha.franken.de \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    --cc=yang@os.amperecomputing.com \
    --cc=yangyicong@hisilicon.com \
    --cc=yeoreum.yun@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox