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

David Woodhouse dwmw2 at infradead.org
Fri Oct 9 09:04:21 PDT 2026


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 │
└───────────┴──────┴─────────┴──────────┴──────────┴───────────────────┘
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6179 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20261009/145229bc/attachment-0001.p7s>


More information about the linux-arm-kernel mailing list