x86/cpu/intel: Evaluate smp_num_siblings early
authorThomas Gleixner <tglx@linutronix.de>
Tue, 5 Jun 2018 23:00:55 +0000 (01:00 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Aug 2018 16:12:52 +0000 (18:12 +0200)
commit 1910ad5624968f93be48e8e265513c54d66b897c upstream

Make use of the new early detection function to initialize smp_num_siblings
on the boot cpu before the MP-Table or ACPI/MADT scan happens. That's
required for force disabling SMT.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kernel/cpu/intel.c

index 0b2330e191694c638b40cc2b5b7f797d31e18d6e..278be092b3009e99d4aa6bb7dc81fa4f1622e398 100644 (file)
@@ -301,6 +301,13 @@ static void early_init_intel(struct cpuinfo_x86 *c)
        }
 
        check_mpx_erratum(c);
+
+       /*
+        * Get the number of SMT siblings early from the extended topology
+        * leaf, if available. Otherwise try the legacy SMT detection.
+        */
+       if (detect_extended_topology_early(c) < 0)
+               detect_ht_early(c);
 }
 
 #ifdef CONFIG_X86_32