[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1bacf92b-2ad1-9ebe-f332-4ee9dd147088@csgroup.eu>
Date: Wed, 4 May 2022 11:43:05 +0000
From: Christophe Leroy <christophe.leroy@...roup.eu>
To: "Naveen N. Rao" <naveen.n.rao@...ux.vnet.ibm.com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Ingo Molnar <mingo@...hat.com>,
Michael Ellerman <mpe@...erman.id.au>,
Paul Mackerras <paulus@...ba.org>,
Steven Rostedt <rostedt@...dmis.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>
Subject: Re: [PATCH v1 06/22] powerpc/ftrace: Inline ftrace_modify_code()
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@...roup.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
Powered by blists - more mailing lists