[Zesty][PATCH v3 07/13] powerpc/64s: Avoid a branch for ppc_msgsnd

Gustavo Walbon gwalbon at linux.vnet.ibm.com
Fri May 26 23:26:24 UTC 2017


From: Nicholas Piggin <npiggin at gmail.com>

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 <npiggin at gmail.com>
[mpe: Change log detail]
Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>

(cherry picked from commit a5adf282461fb6048973ca3aec590495bdbc33f1)
Signed-off-by: Gustavo Walbon <gwalbon at linux.vnet.ibm.com>
---
 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





More information about the kernel-team mailing list