[PATCH 1/5] powerpc/pseries: do not use msgsndp doorbells on POWER9 guests
Benjamin Herrenschmidt
benh at kernel.crashing.org
Sun Apr 9 18:03:35 AEST 2017
On Fri, 2017-04-07 at 22:55 +1000, Nicholas Piggin wrote:
> POWER9 hypervisors will not necessarily run guest threads together on
> the same core at the same time, so msgsndp should not be used.
Maybe we shouldn't advertise doorbells at all ?
> 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;
> }
More information about the Linuxppc-dev
mailing list