Re: [RFC] perf/core: allow ftrace for functions in kernel/event/core.c

From: Song Liu
Date: Tue May 26 2020 - 18:10:29 EST




> On May 26, 2020, at 3:04 PM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> On Tue, 26 May 2020 23:54:15 +0200
> Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
>> On Tue, May 26, 2020 at 09:46:29PM +0000, Song Liu wrote:
>>>
>>>
>>>> On May 26, 2020, at 2:39 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>>>>
>>>> On Tue, May 26, 2020 at 02:28:26PM -0700, Song Liu wrote:
>>>>> It is useful to trace functions in kernel/event/core.c. Allow ftrace for
>>>>> them by removing $(CC_FLAGS_FTRACE) from Makefile.
>>>>
>>>> Did you try using the ftrace event with perf with this on?
>>>
>>> I have tried a few things, like
>>>
>>> perf stat -e probe:perf_read -I 1000
>>> perf record -e probe:__x64_sys_perf_event_open -aR
>>>
>>> They all work fine.
>>>
>>> Do you have some tricky functions that we should double check?
>>
>> I've no idea what probe: does. iirc there's something like
>> ftrace:function that is like regular function tracing.
>>
>> At some point using that made the kernel really sick due to recursion
>> between ftrace and perf. Quite possibly that's been fixed, dunno.
>
> In the early days there was a lot of issues with recursions, but I added a
> lot of recursion protection since then. I'll give this patch a spin and see
> if I can make it crash.

Thanks!

Song