]> git.baikalelectronics.ru Git - kernel.git/commit
x86/smp: Provide topology_is_primary_thread()
authorThomas Gleixner <tglx@linutronix.de>
Tue, 29 May 2018 15:50:22 +0000 (17:50 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 21 Jun 2018 12:20:57 +0000 (14:20 +0200)
commit3e7a572d22d8c956c17d1e3bed1d3d12d2986407
tree20d72fc0fdc2d6a5903ed7f0681dbc50e5c93d66
parent506a7da806f97f5208ac73d90e733189ef8e23e9
x86/smp: Provide topology_is_primary_thread()

If the CPU is supporting SMT then the primary thread can be found by
checking the lower APIC ID bits for zero. smp_num_siblings is used to build
the mask for the APIC ID bits which need to be taken into account.

This uses the MPTABLE or ACPI/MADT supplied APIC ID, which can be different
than the initial APIC ID in CPUID. But according to AMD the lower bits have
to be consistent. Intel gave a tentative confirmation as well.

Preparatory patch to support disabling SMT at boot/runtime.

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/include/asm/apic.h
arch/x86/include/asm/topology.h
arch/x86/kernel/apic/apic.c
arch/x86/kernel/smpboot.c