Thread (39 messages) 39 messages, 4 authors, 2022-05-06

Re: [PATCH v1 06/22] powerpc/ftrace: Inline ftrace_modify_code()

From: Christophe Leroy <hidden>
Date: 2022-05-04 11:43:17
Also in: lkml


Le 18/04/2022 à 08:07, Naveen N. Rao a écrit :
Christophe Leroy wrote:
quoted
Inlining ftrace_modify_code(), it increases a bit the
size of ftrace code but brings 5% improvment on ftrace
activation.

Signed-off-by: Christophe Leroy <redacted>
---
 arch/powerpc/kernel/trace/ftrace.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/trace/ftrace.c 
b/arch/powerpc/kernel/trace/ftrace.c
index 41c45b9c7f39..98e82fa4980f 100644
--- a/arch/powerpc/kernel/trace/ftrace.c
+++ b/arch/powerpc/kernel/trace/ftrace.c
@@ -53,7 +53,7 @@ ftrace_call_replace(unsigned long ip, unsigned long 
addr, int link)
     return op;
 }

-static int
+static inline int
 ftrace_modify_code(unsigned long ip, ppc_inst_t old, ppc_inst_t new)
 {
     ppc_inst_t replaced;
I thought gcc was free to inline functions without the need for 
'inline'. Don't you see this being inlined otherwise?
Yep, gcc is free to inline, but in that case it doesn't inline unless 
you suggest it to do so.
On the flip side, don't we need __always_inline if we want to force 
inlining?
The question is, do we want to force inlining, even with 
CONFIG_CC_OPTIMIZE_FOR_SIZE ?

With 'inline', gcc seems to now inline it with 
CONFIG_CC_OPTIMIZE_FOR_SPEED and still keep it out of line with 
CONFIG_CC_OPTIMIZE_FOR_SIZE.

Christophe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help