fgraph: Add new fgraph_ops structure to enable function graph hooks
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 15 Nov 2018 19:06:47 +0000 (14:06 -0500)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Sun, 9 Dec 2018 01:54:07 +0000 (20:54 -0500)
commit688f7089d8851b1a81106f0c0b9b29181b2f2dc8
tree4ba6a07d11c0a53d0d0dc4583ef9f5cb1e245ca2
parent317e04ca905ac6c4b33cb879e9a107c412125f14
fgraph: Add new fgraph_ops structure to enable function graph hooks

Currently the registering of function graph is to pass in a entry and return
function. We need to have a way to associate those functions together where
the entry can determine to run the return hook. Having a structure that
contains both functions will facilitate the process of converting the code
to be able to do such.

This is similar to the way function hooks are enabled (it passes in
ftrace_ops). Instead of passing in the functions to use, a single structure
is passed in to the registering function.

The unregister function is now passed in the fgraph_ops handle. When we
allow more than one callback to the function graph hooks, this will let the
system know which one to remove.

Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
include/linux/ftrace.h
kernel/trace/fgraph.c
kernel/trace/ftrace.c
kernel/trace/trace_functions_graph.c
kernel/trace/trace_irqsoff.c
kernel/trace/trace_sched_wakeup.c
kernel/trace/trace_selftest.c