[PATCH 1/5] powerpc/pseries: do not use msgsndp doorbells on POWER9 guests
Nicholas Piggin
npiggin at gmail.com
Fri Apr 7 22:55:58 AEST 2017
POWER9 hypervisors will not necessarily run guest threads together on
the same core at the same time, so msgsndp should not be used.
Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
---
arch/powerpc/platforms/pseries/smp.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/pseries/smp.c b/arch/powerpc/platforms/pseries/smp.c
index f6f83aeccaaa..1fa08155206b 100644
--- a/arch/powerpc/platforms/pseries/smp.c
+++ b/arch/powerpc/platforms/pseries/smp.c
@@ -200,7 +200,12 @@ static __init void pSeries_smp_probe(void)
{
xics_smp_probe();
- if (cpu_has_feature(CPU_FTR_DBELL)) {
+ /*
+ * POWER9 can not use msgsndp doorbells for IPI because thread
+ * siblings do not necessarily run on physical cores at the same
+ * time. This could be enabled for pHyp.
+ */
+ if (cpu_has_feature(CPU_FTR_DBELL) && !cpu_has_feature(CPU_FTR_ARCH_300)) {
xics_cause_ipi = smp_ops->cause_ipi;
smp_ops->cause_ipi = pSeries_cause_ipi_mux;
}
--
2.11.0
More information about the Linuxppc-dev
mailing list