Re: [External] Re: [PATCH v6 06/11] x86/smpboot: Support parallel startup of secondary CPUs

From: Usama Arif
Date: Thu Feb 02 2023 - 17:51:14 EST




On 02/02/2023 22:30, David Woodhouse wrote:
On Thu, 2023-02-02 at 21:56 +0000, Usama Arif wrote:
@@ -1515,6 +1530,17 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
        speculative_store_bypass_ht_init();
+       /*
+        * We can do 64-bit AP bringup in parallel if the CPU reports its
+        * APIC ID in CPUID leaf 0x0B. Otherwise it's too hard. And not
+        * for SEV-ES guests because they can't use CPUID that early.
+        * Also, some AMD CPUs crash when doing parallel cpu bringup, disable
+        * it for all AMD CPUs to be on the safe side.
+        */
+       if (IS_ENABLED(CONFIG_X86_32) || boot_cpu_data.cpuid_level < 0x0B ||
+           cc_platform_has(CC_ATTR_GUEST_STATE_ENCRYPT))
+               do_parallel_bringup = false;
+
        snp_set_wakeup_secondary_cpu();
 }

Oops, I thought I'd removed those two lines about AMD in the comment
when I removed the actual code that did so. Turns out we remove those
lines again in the *next* patch instead.

Ah, sorry about that, should have caught it while reviewing before posting. To think of it, it might be better to squash this and next AMD disabling patch, if anyone testing on AMD ever happens to check out at this specific patch, their machine might not boot :). Will repost only after getting the OK for the rest of the patches along with addressing any other comments that come up.

Thanks,
Usama