From: David Woodhouse <dwmw2@infradead.org>
To: Will Deacon <will@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org,
Pasha Tatashin <pasha.tatashin@soleen.com>,
Luka Absandze <absandze@amazon.de>,
linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Borislav Petkov <bp@alien8.de>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Jinjie Ruan <ruanjinjie@huawei.com>,
Mark Rutland <mark.rutland@arm.com>,
Peter Zijlstra <peterz@infradead.org>,
Marc Zyngier <maz@kernel.org>
Subject: Re: [PATCH 00/19] arm64: Implement parallel CPU onlining with PSCI v0.2+
Date: Fri, 09 Oct 2026 17:04:21 +0100 [thread overview]
Message-ID: <b35ab5cc88185d1429f88cf21539b9d255777455.camel@infradead.org> (raw)
In-Reply-To: <b5c72d9c3812d3b4988353e842d736694fc9258d.camel@infradead.org>
[-- Attachment #1: Type: text/plain, Size: 4491 bytes --]
On Fri, 2026-10-09 at 15:45 +0100, David Woodhouse wrote:
> On Fri, 2026-10-09 at 12:08 +0100, Will Deacon wrote:
> > Hi David,
> >
> > Thanks for replying with so much data! It looks like I sent my v2 out
> > at the same time.
>
> Yeah. I'm redoing the full set of tests on that, along with the
> spinwait variant.
With cpuhp_wait_for_sync_state() using atomic_cond_read_relaxed() the
performance hit of your series in serial mode is fixed to match
vanilla, so I dropped that column.
And while spinwait alone is a modest win, it doesn't buy us anything on
top of parallel bringup on *this* hardware. In fact it's *slightly*
slower on the biggest hardware, because I haven't yet batched some of
the flushes properly. I'll look at that, and rerun on the machines with
slow CPU_ON which is where the spinwait will come into its own.
https://git.infradead.org/?p=users/dwmw2/linux.git;a=shortlog;h=refs/heads/spinwait-will2fix
┌───────────┬──────┬─────────┬──────────┬──────────┬───────────────────┐
│ platform │ ncpu │ vanilla │ spinwait │ parallel │ parallel+spinwait │
├───────────┼──────┼─────────┼──────────┼──────────┼───────────────────┤
│ a1-metal │ 16 │ 5.6 │ 5.3 │ 5.2 │ 5.2 │
├───────────┼──────┼─────────┼──────────┼──────────┼───────────────────┤
│ a1-virt │ 16 │ 13.5 │ 13.2 │ 10.6 │ 10.6 │
├───────────┼──────┼─────────┼──────────┼──────────┼───────────────────┤
│ m6g-metal │ 64 │ 21.7 │ 16.5 │ 15.4 │ 15.2 │
├───────────┼──────┼─────────┼──────────┼──────────┼───────────────────┤
│ m6g-virt │ 64 │ 27.1 │ 26.5 │ 22.9 │ 22.7 │
├───────────┼──────┼─────────┼──────────┼──────────┼───────────────────┤
│ c7g-metal │ 64 │ 20.6 │ 13.6 │ 11.9 │ 11.8 │
├───────────┼──────┼─────────┼──────────┼──────────┼───────────────────┤
│ c7g-virt │ 64 │ 27.0 │ 26.8 │ 21.7 │ 21.8 │
├───────────┼──────┼─────────┼──────────┼──────────┼───────────────────┤
│ c8g-metal │ 192 │ 81.9 │ 60.5 │ 52.7 │ 58.7 │
├───────────┼──────┼─────────┼──────────┼──────────┼───────────────────┤
│ c8g-virt │ 192 │ 111.0 │ (noisy) │ 96.4 │ 101.8 │
├───────────┼──────┼─────────┼──────────┼──────────┼───────────────────┤
│ m9g-metal │ 192 │ 68.9 │ 56.0 │ 44.7 │ 50.0 │
├───────────┼──────┼─────────┼──────────┼──────────┼───────────────────┤
│ m9g-virt │ 192 │ 128.5 │ 123.6 │ 112.8 │ 111.7 │
└───────────┴──────┴─────────┴──────────┴──────────┴───────────────────┘
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 6179 bytes --]
prev parent reply other threads:[~2026-10-09 16:04 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-07 16:40 [PATCH 00/19] arm64: Implement parallel CPU onlining with PSCI v0.2+ Will Deacon
2026-09-07 16:40 ` [PATCH 01/19] cpu/hotplug: Clean up cmpxchg() logic in cpuhp_can_boot_ap() Will Deacon
2026-09-08 2:55 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 02/19] cpu/hotplug: Avoid trying to bring up CPUs that are already online Will Deacon
2026-09-08 3:13 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 03/19] cpu/hotplug: Avoid busy-polling on archs where cpu_relax() is a no-op Will Deacon
2026-09-08 4:00 ` Jinjie Ruan
2026-09-11 7:16 ` Jinjie Ruan
2026-09-11 12:57 ` Will Deacon
2026-09-16 1:15 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 04/19] cpu/hotplug: Propagate bring-up status to arch_cpuhp_cleanup_kick_cpu() Will Deacon
2026-09-08 4:05 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 05/19] arm64: smp: Tidy up smp_prepare_cpus() Will Deacon
2026-09-08 7:35 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 06/19] arm64: smp: Tidy up cpuinfo init and cpufeature updates Will Deacon
2026-09-08 7:53 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 07/19] arm64: smp: Defer update of secondary CPU capabilities Will Deacon
2026-09-08 8:20 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 08/19] arm64: smp: Don't bother printing the I-cache policy for each CPU Will Deacon
2026-09-08 8:33 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 09/19] arm64: smp: Defer RCU registration during secondary CPU bringup Will Deacon
2026-09-08 8:55 ` Jinjie Ruan
2026-09-08 10:19 ` Will Deacon
2026-09-08 11:25 ` Jinjie Ruan
2026-09-09 12:36 ` Will Deacon
2026-09-10 2:47 ` Jinjie Ruan
2026-09-11 12:52 ` Will Deacon
2026-09-16 2:40 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 10/19] arm64: smp: Use generic HOTPLUG_CORE_SYNC_FULL machinery for CPU onlining Will Deacon
2026-09-08 9:01 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 11/19] arm64: smp: Use generic HOTPLUG_SPLIT_STARTUP " Will Deacon
2026-09-08 9:10 ` Jinjie Ruan
2026-09-08 11:35 ` Jinjie Ruan
2026-09-11 12:55 ` Will Deacon
2026-09-07 16:40 ` [PATCH 12/19] arm64: cpu_ops: Make 'cpu_operations' pointer global instead of per-cpu Will Deacon
2026-09-08 11:32 ` Jinjie Ruan
2026-09-11 12:55 ` Will Deacon
2026-09-16 1:12 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 13/19] arm64: cpu_ops: Introduce get_secondary_cpu_ops() Will Deacon
2026-09-08 11:56 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 14/19] firmware/psci: Cache PSCI v0.2+ version number to avoid redundant SMCs Will Deacon
2026-09-08 11:57 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 15/19] firmware/psci: Extend ->cpu_on() callback to take an additional argument Will Deacon
2026-09-08 12:05 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 16/19] arm64: cpu_ops: Expose optional argument to target cpu in ->cpu_boot() Will Deacon
2026-09-08 12:12 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 17/19] arm64: smp: Pass secondary CPU boot parameters via firmware if possible Will Deacon
2026-09-08 12:16 ` Jinjie Ruan
2026-09-07 16:40 ` [PATCH 18/19] arm64: smp: Use generic HOTPLUG_PARALLEL machinery for CPU onlining Will Deacon
2026-09-08 13:05 ` Jinjie Ruan
2026-09-11 12:56 ` Will Deacon
2026-09-16 2:34 ` Jinjie Ruan
2026-09-18 15:18 ` Will Deacon
2026-09-07 16:40 ` [PATCH 19/19] arm64: smp: Harden parallel CPU bringup against broken PSCI firmware Will Deacon
2026-09-08 13:36 ` Will Deacon
2026-09-29 8:56 ` [PATCH 00/19] arm64: Implement parallel CPU onlining with PSCI v0.2+ Pankaj Patil
2026-10-08 9:38 ` Will Deacon
2026-10-09 10:00 ` David Woodhouse
2026-10-09 11:08 ` Will Deacon
2026-10-09 14:45 ` David Woodhouse
2026-10-09 16:04 ` David Woodhouse [this message]
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=b35ab5cc88185d1429f88cf21539b9d255777455.camel@infradead.org \
--to=dwmw2@infradead.org \
--cc=absandze@amazon.de \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=pasha.tatashin@soleen.com \
--cc=peterz@infradead.org \
--cc=ruanjinjie@huawei.com \
--cc=tglx@kernel.org \
--cc=will@kernel.org \
/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