Re: [PATCH v3 0/9] Parallel CPU bringup for x86_64

From: Tom Lendacky
Date: Thu Dec 16 2021 - 14:55:43 EST


On 12/16/21 1:52 PM, David Woodhouse wrote:
On Thu, 2021-12-16 at 10:27 -0600, Tom Lendacky wrote:
On 12/15/21 8:56 AM, David Woodhouse wrote:

Doing the INIT/SIPI/SIPI in parallel for all APs and *then* waiting for
them shaves about 80% off the AP bringup time on a 96-thread socket
Skylake box (EC2 c5.metal) — from about 500ms to 100ms.

There are more wins to be had with further parallelisation, but this is
the simple part.

I applied this series and began booting a regular non-SEV guest and hit a
failure at 39 vCPUs. No panic or warning, just a reset and OVMF was
executing again. I'll try to debug what's going, but not sure how quickly
I'll arrive at anything.

I've pushed the SEV-ES fix to
https://git.infradead.org/users/dwmw2/linux.git/shortlog/refs/heads/parallel-5.16
and in doing so I've moved the 'no_parallel_bringup' command line
argument earlier in the series, to Thomas's "Support parallel startup
of secondary CPUs" commit (now 191f0899757). It would be interesting to
see if you can reproduce with just that much, both with and with
no_parallel_bringup. And then whether the subsequent commit that
actually enables the parallel INIT/SIPI/SIPI actually makes the
difference?


I'll pull it down and give it try.

Thanks,
Tom

Thanks!