summaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_functions.c
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2017-04-04 00:18:47 +0200
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2017-04-21 04:06:37 +0200
commitbca6c8d0480a8aa5c86f8f416db96c71f6b79e29 (patch)
treeaef6cd660ec1b1bf9c25f109cb282b6fcb190353 /kernel/trace/trace_functions.c
parentftrace: Remove unused "flags" field from struct ftrace_func_probe (diff)
downloadlinux-bca6c8d0480a8aa5c86f8f416db96c71f6b79e29.tar.xz
linux-bca6c8d0480a8aa5c86f8f416db96c71f6b79e29.zip
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.c24
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);