Re: [PATCH 00/19] arm64: Implement parallel CPU onlining with PSCI v0.2+

From: David Woodhouse

Date: Fri Oct 09 2026 - 12:11:30 EST


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: smime.p7s
Description: S/MIME cryptographic signature