Re: [PATCH v13 00/11] Parallel CPU bringup for x86_64

From: David Woodhouse
Date: Tue Mar 07 2023 - 17:30:12 EST


On Tue, 2023-03-07 at 16:22 -0600, Tom Lendacky wrote:
>
> I did some Qemu/KVM testing. One thing I noticed is that on AMD, CPUID 0xB
> EAX will be non-zero only if SMT is enabled. So just booting some guests
> without CPU topology never did parallel booting ("smpboot: Disabling
> parallel bringup because CPUID 0xb looks untrustworthy"). I would imagine
> a bare-metal system that has diabled SMT will not do parallel booting, too
> (but I haven't had time to test that).

Interesting, thanks. Should I change to checking for *both* EAX and EBX
being zero? That's what I did first, after reading only the Intel SDM.
But I changed to only EAX because the AMD doc only says that EAX will
be zero for unsupported leaves.

> I did have to change "vmgexit" to a "rep; vmmcall" based on my binutils
> and the IS_ENABLED(CONFIG_AMD_MEM_ENCRYPT) change I mentioned before. But
> with that, I was able to successfully boot 64 vCPU SEV-ES and SEV-SNP
> guests using parallel booting.

Thanks. I'll look at retconning that rework of can_parallel_bringup()
out into a separate function, into the earlier parts of the series.

Attachment: smime.p7s
Description: S/MIME cryptographic signature