[PATCH] powerpc/powernv: Allow smt-enabled=off on Power9

Michael Ellerman mpe at ellerman.id.au
Thu Jan 10 22:53:35 AEDT 2019


In commit d70a54e2d085 ("powerpc/powernv: Ignore smt-enabled on Power8
and later") we disabled smt-enabled=off on Power8 and later CPUs
because the subcore logic required all CPUs to be booted.

However Power9 doesn't support subcore, so we can support
smt-enabled=off on Power9. Fix the code to do that.

Fixes: c3ab300ea555 ("powerpc: Add POWER9 cputable entry")
Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
---
 arch/powerpc/platforms/powernv/smp.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/powerpc/platforms/powernv/smp.c b/arch/powerpc/platforms/powernv/smp.c
index 0d354e19ef92..3ab5755eb09f 100644
--- a/arch/powerpc/platforms/powernv/smp.c
+++ b/arch/powerpc/platforms/powernv/smp.c
@@ -254,12 +254,12 @@ static void pnv_smp_cpu_kill_self(void)
 static int pnv_cpu_bootable(unsigned int nr)
 {
 	/*
-	 * Starting with POWER8, the subcore logic relies on all threads of a
-	 * core being booted so that they can participate in split mode
-	 * switches. So on those machines we ignore the smt_enabled_at_boot
-	 * setting (smt-enabled on the kernel command line).
+	 * On POWER8 the subcore logic relies on all threads of a core being
+	 * booted so that they can participate in split mode switches. So on
+	 * those machines we ignore the smt_enabled_at_boot setting (smt-enabled
+	 * on the kernel command line).
 	 */
-	if (cpu_has_feature(CPU_FTR_ARCH_207S))
+	if (cpu_has_feature(CPU_FTR_ARCH_207S) && !cpu_has_feature(CPU_FTR_ARCH_300))
 		return 1;
 
 	return smp_generic_cpu_bootable(nr);
-- 
2.20.1



More information about the Linuxppc-dev mailing list