From a5adf282461fb6048973ca3aec590495bdbc33f1 Mon Sep 17 00:00:00 2001 From: Nicholas Piggin Date: Thu, 13 Apr 2017 20:16:23 +1000 Subject: [PATCH] powerpc/64s: Avoid a branch for ppc_msgsnd IPIs are a pretty hot path and we already have the ability to do asm feature patching, so use it. Signed-off-by: Nicholas Piggin [mpe: Change log detail] Signed-off-by: Michael Ellerman --- arch/powerpc/include/asm/dbell.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/include/asm/dbell.h b/arch/powerpc/include/asm/dbell.h index 350694a1a6e5..040944659a20 100644 --- a/arch/powerpc/include/asm/dbell.h +++ b/arch/powerpc/include/asm/dbell.h @@ -38,10 +38,8 @@ enum ppc_dbell { static inline void _ppc_msgsnd(u32 msg) { - if (cpu_has_feature(CPU_FTR_HVMODE)) - __asm__ __volatile__ (PPC_MSGSND(%0) : : "r" (msg)); - else - __asm__ __volatile__ (PPC_MSGSNDP(%0) : : "r" (msg)); + __asm__ __volatile__ (ASM_FTR_IFSET(PPC_MSGSND(%1), PPC_MSGSNDP(%1), %0) + : : "i" (CPU_FTR_HVMODE), "r" (msg)); } /* sync before sending message */ -- 2.11.0