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

From: Steven Rostedt
Date: Mon Apr 27 2020 - 14:34:48 EST


On Mon, 27 Apr 2020 10:23:05 +0300
Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote:

> 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?

Arnaldo deals with the userspace perf code. This looks like it needs to go
through the x86 tree.

-- Steve