summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/intel.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2018-06-06 01:00:55 +0200
committerThomas Gleixner <tglx@linutronix.de>2018-06-21 14:20:59 +0200
commit1910ad5624968f93be48e8e265513c54d66b897c (patch)
tree3228681209a8980e4948f9909201d76efeaf8889 /arch/x86/kernel/cpu/intel.c
parentx86/cpu/topology: Provide detect_extended_topology_early() (diff)
downloadlinux-1910ad5624968f93be48e8e265513c54d66b897c.tar.xz
linux-1910ad5624968f93be48e8e265513c54d66b897c.zip
x86/cpu/intel: Evaluate smp_num_siblings early
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>
Diffstat (limited to 'arch/x86/kernel/cpu/intel.c')
-rw-r--r--arch/x86/kernel/cpu/intel.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c
index eb75564f2d25..6602941cfebf 100644
--- a/arch/x86/kernel/cpu/intel.c
+++ b/arch/x86/kernel/cpu/intel.c
@@ -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