diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2017-04-03 18:18:47 -0400 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2017-04-20 22:06:37 -0400 |
commit | bca6c8d0480a8aa5c86f8f416db96c71f6b79e29 (patch) | |
tree | aef6cd660ec1b1bf9c25f109cb282b6fcb190353 /kernel/trace/trace_functions.c | |
parent | e51a9896794bbb819d89b803e5a8446199034853 (diff) | |
download | linux-bca6c8d0480a8aa5c86f8f416db96c71f6b79e29.tar.bz2 |
ftrace: Pass probe ops to probe function
In preparation to cleaning up the probe function registration code, the
"data" parameter will eventually be removed from the probe->func() call.
Instead it will receive its own "ops" function, in which it can set up its
own data that it needs to map.
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace_functions.c')
-rw-r--r-- | kernel/trace/trace_functions.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/kernel/trace/trace_functions.c b/kernel/trace/trace_functions.c index 4199ca61b0e5..b99f6231281e 100644 --- a/kernel/trace/trace_functions.c +++ b/kernel/trace/trace_functions.c @@ -326,19 +326,22 @@ static void update_traceon_count(void **data, bool on) } static void -ftrace_traceon_count(unsigned long ip, unsigned long parent_ip, void **data) +ftrace_traceon_count(unsigned long ip, unsigned long parent_ip, + struct ftrace_probe_ops *ops, void **data) { update_traceon_count(data, 1); } static void -ftrace_traceoff_count(unsigned long ip, unsigned long parent_ip, void **data) +ftrace_traceoff_count(unsigned long ip, unsigned long parent_ip, + struct ftrace_probe_ops *ops, void **data) { update_traceon_count(data, 0); } static void -ftrace_traceon(unsigned long ip, unsigned long parent_ip, void **data) +ftrace_traceon(unsigned long ip, unsigned long parent_ip, + struct ftrace_probe_ops *ops, void **data) { if (tracing_is_on()) return; @@ -347,7 +350,8 @@ ftrace_traceon(unsigned long ip, unsigned long parent_ip, void **data) } static void -ftrace_traceoff(unsigned long ip, unsigned long parent_ip, void **data) +ftrace_traceoff(unsigned long ip, unsigned long parent_ip, + struct ftrace_probe_ops *ops, void **data) { if (!tracing_is_on()) return; @@ -365,13 +369,15 @@ ftrace_traceoff(unsigned long ip, unsigned long parent_ip, void **data) #define STACK_SKIP 4 static void -ftrace_stacktrace(unsigned long ip, unsigned long parent_ip, void **data) +ftrace_stacktrace(unsigned long ip, unsigned long parent_ip, + struct ftrace_probe_ops *ops, void **data) { trace_dump_stack(STACK_SKIP); } static void -ftrace_stacktrace_count(unsigned long ip, unsigned long parent_ip, void **data) +ftrace_stacktrace_count(unsigned long ip, unsigned long parent_ip, + struct ftrace_probe_ops *ops, void **data) { long *count = (long *)data; long old_count; @@ -419,7 +425,8 @@ static int update_count(void **data) } static void -ftrace_dump_probe(unsigned long ip, unsigned long parent_ip, void **data) +ftrace_dump_probe(unsigned long ip, unsigned long parent_ip, + struct ftrace_probe_ops *ops, void **data) { if (update_count(data)) ftrace_dump(DUMP_ALL); @@ -427,7 +434,8 @@ ftrace_dump_probe(unsigned long ip, unsigned long parent_ip, void **data) /* Only dump the current CPU buffer. */ static void -ftrace_cpudump_probe(unsigned long ip, unsigned long parent_ip, void **data) +ftrace_cpudump_probe(unsigned long ip, unsigned long parent_ip, + struct ftrace_probe_ops *ops, void **data) { if (update_count(data)) ftrace_dump(DUMP_ORIG); |