x86/cpu/intel: Evaluate smp_num_siblings early
authorThomas Gleixner <tglx@linutronix.de>
Tue, 5 Jun 2018 23:00:55 +0000 (01:00 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 21 Jun 2018 12:20:59 +0000 (14:20 +0200)
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>
arch/x86/kernel/cpu/intel.c

index eb75564f2d257bfee92b36f311a1ae37133f2721..6602941cfebf3413c20940e731488e761c65418d 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