Messages in this thread | | | From | Christophe Leroy <> | Subject | Re: [PATCH v1 06/22] powerpc/ftrace: Inline ftrace_modify_code() | Date | Wed, 4 May 2022 11:43:05 +0000 |
| |
Le 18/04/2022 à 08:07, Naveen N. Rao a écrit : > Christophe Leroy wrote: >> 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 <christophe.leroy@csgroup.eu> >> --- >> 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
| |