[PATCH] powerpc/ftrace: fix syscall tracing on PPC64_ELF_ABI_V1

Michael Jeanson mjeanson at efficios.com
Tue Dec 6 07:11:07 AEDT 2022


On 2022-12-05 13:56, Christophe Leroy wrote:
> 
> 
> Le 05/12/2022 à 19:19, Michael Jeanson a écrit :
>> [Vous ne recevez pas souvent de courriers de mjeanson at efficios.com.
>> Découvrez pourquoi ceci est important à
>> https://aka.ms/LearnAboutSenderIdentification ]
>>
>> On 2022-12-05 00:34, Michael Ellerman wrote:
>>> Michael Jeanson <mjeanson at efficios.com> writes:
>>>> In v5.7 the powerpc syscall entry/exit logic was rewritten in C, on
>>>> PPC64_ELF_ABI_V1 this resulted in the symbols in the syscall table
>>>> changing from their dot prefixed variant to the non-prefixed ones.
>>>>
>>>> Since ftrace prefixes a dot to the syscall names when matching them to
>>>> build its syscall event list, this resulted in no syscall events being
>>>> available.
>>>>
>>>> Remove the PPC64_ELF_ABI_V1 specific version of
>>>> arch_syscall_match_sym_name to have the same behavior across all powerpc
>>>> variants.
>>>
>>> This doesn't seem to work for me.
>>>
>>> Event with it applied I still don't see anything in
>>> /sys/kernel/debug/tracing/events/syscalls
>>>
>>> Did we break it in some other way recently?
>>>
>>> cheers
>>
>> I've just tried this change on top of v6.1-rc8 in qemu with a base
>> config of
>> 'corenet32_smp_defconfig' and these options on top:
>>
>> CONFIG_FTRACE=y
>> CONFIG_FTRACE_SYSCALLS=y
>>
>> And I can trace syscalls with ftrace.
>>
>> What kernel tree and config are you using?
> 
> If you are using a ppc32 config, CONFIG_PPC64_ELF_ABI_V1 won't be set,
> so it doesn't matter whether this change is there or not.
> 
> You should try corenet64_smp_defconfig if you want
> CONFIG_PPC64_ELF_ABI_V1 to be set.
> 
> You can also use ppc64_defconfig, that's a different platform but it
> also has CONFIG_PPC64_ELF_ABI_V1.

You are absolutely right, I used the wrong environment, I blame Monday 
morning. I tested again this time using 'corenet64_smp_defconfig' with the 
same options and syscall tracing with ftrace also works.

I double checked that /proc/config.gz contained CONFIG_PPC64_ELF_ABI_V1 to be 
sure.

> 
> Christophe
> 
>>
>> Thanks for looking into this.
>>



More information about the Linuxppc-dev mailing list