Le 24/03/2022 à 23:33, Steven Rostedt a écrit :
> On Thu, 24 Mar 2022 11:01:45 +0100
> Christophe Leroy wrote:
>
>> @@ -1006,7 +1006,20 @@ unsigned long ftrace_graph_ret_addr(struct
>> task_struct *task, int *idx,
>> extern int register_ftrace_graph(struct fgraph_ops *ops);
>> extern void
On Thu, 24 Mar 2022 11:01:45 +0100
Christophe Leroy wrote:
> @@ -1006,7 +1006,20 @@ unsigned long ftrace_graph_ret_addr(struct task_struct
> *task, int *idx,
> extern int register_ftrace_graph(struct fgraph_ops *ops);
> extern void unregister_ftrace_graph(struct fgraph_ops *ops);
>
> -extern
ftrace_graph_is_dead() is used on hot paths, it just reads a variable
in memory and is not worth suffering function call constraints.
For instance, at entry of prepare_ftrace_return(), inlining it avoids
saving prepare_ftrace_return() parameters to stack and restoring them
after calling ftrace_gra