diff options
author | Christophe Leroy <christophe.leroy@csgroup.eu> | 2022-03-30 10:00:19 +0300 |
---|---|---|
committer | Steven Rostedt (Google) <rostedt@goodmis.org> | 2022-04-02 15:40:09 +0300 |
commit | 18bfee3216fa6f28d55ebf88d824a539d2bec3c7 (patch) | |
tree | 57fb3d2d8b7a9b0620a51de3dbb8134fb9291db8 /kernel/trace/trace_events_user.c | |
parent | fcbf591cedbd44d82d7765b3c7e261858108593f (diff) | |
download | linux-18bfee3216fa6f28d55ebf88d824a539d2bec3c7.tar.xz |
ftrace: Make ftrace_graph_is_dead() a static branch
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_graph_is_dead().
While at it using a static branch is even more performant and is
rather well adapted considering that the returned value will almost
never change.
Inline ftrace_graph_is_dead() and replace 'kill_ftrace_graph' bool
by a static branch.
The performance improvement is noticeable.
Link: https://lkml.kernel.org/r/e0411a6a0ed3eafff0ad2bc9cd4b0e202b4617df.1648623570.git.christophe.leroy@csgroup.eu
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace_events_user.c')
0 files changed, 0 insertions, 0 deletions