Re: [PATCH V6 08/15] ftrace: Add perf text poke events for ftrace trampolines

From: Adrian Hunter
Date: Mon Apr 27 2020 - 03:22:48 EST


On 22/04/20 2:46 pm, Peter Zijlstra wrote:
> On Wed, Apr 22, 2020 at 10:39:06AM +0300, Adrian Hunter wrote:
>> On 21/04/20 4:45 pm, Peter Zijlstra wrote:
>>> On Sun, Apr 05, 2020 at 11:13:20PM +0300, Adrian Hunter wrote:
>>>> Add perf text poke events for ftrace trampolines when created and when
>>>> freed.
>>>
>>> Maybe also put in a little more detail on the various events. Because
>>> arch_ftrace_update_trampoline() can also generate text_poke_bp() events,
>>> to update an existing trampoline.
>>>
>>> A diagram, like with the kprobes thing perhaps.
>>
>> How about adding this:
>>
>> There can be 3 text_poke events for ftrace trampolines:
>>
>> 1. NULL -> trampoline
>> By ftrace_update_trampoline() when !ops->trampoline
>> Trampoline created
>>
>> 2. [e.g. on x86] CALL rel32 -> CALL rel32
>> By arch_ftrace_update_trampoline() when ops->trampoline and
>> ops->flags & FTRACE_OPS_FL_ALLOC_TRAMP
>> [e.g. on x86] via text_poke_bp() which generates text poke events
>> Trampoline-called function target updated
>>
>> 3. trampoline -> NULL
>> By ftrace_trampoline_free() when ops->trampoline and
>> ops->flags & FTRACE_OPS_FL_ALLOC_TRAMP
>> Trampoline freed
>
> Yes, very nice. Thanks!

Arnaldo, do you have this patchset on your radar?