Re: [PATCH v2 24/27] function_graph: Use static_call and branch to optimize entry function

From: Google
Date: Mon Jun 03 2024 - 19:09:10 EST


On Mon, 3 Jun 2024 11:07:52 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Mon, 3 Jun 2024 11:00:18 -0400
> Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > Yes, but that gets a bit complex, and requires the changing of all archs.
> > If it starts to become a problem, I rather add that as a feature. That is,
> > we can always go back to it. But for now, lets keep the complexity down.
>
> And if we were to go the route of calling a single fgraph_ops caller, I
> would want it choreographed with ftrace, such that the direct caller calls
> a different fgraph function only if it has only one graph caller on it and
> the fgraph loop function if a function has more than one. Just like the
> ftrace code does.
>
> If we are going to go that route, let's do it right.

Yes, that is what I expect. ftrace_ops has a callback for loop and subops
has another direct callbacks, and the ftrace_ops has a flag to direct subops
assign. In this case ftrace will assign the subops's direct callback for
single subops entries.

But anyway, this optimization can be done afterwards. Especially this feature
is important for fprobes on fgraph, until that, the current implementation is
enough.

Thank you,

>
> -- Steve


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>