diff options
author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2015-11-30 17:23:39 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2015-12-23 14:27:18 -0500 |
commit | ba27f2bc731135a0396f3968bdddb54f3bc72e64 (patch) | |
tree | 87934949543a15c834424efa084c5b3916f25d82 /kernel/trace/trace_event_perf.c | |
parent | 030f4e1cb86f059185572fd1678a55b5e8ff0d08 (diff) | |
download | talos-op-linux-ba27f2bc731135a0396f3968bdddb54f3bc72e64.tar.gz talos-op-linux-ba27f2bc731135a0396f3968bdddb54f3bc72e64.zip |
ftrace: Remove use of control list and ops
Currently perf has its own list function within the ftrace infrastructure
that seems to be used only to allow for it to have per-cpu disabling as well
as a check to make sure that it's not called while RCU is not watching. It
uses something called the "control_ops" which is used to iterate over ops
under it with the control_list_func().
The problem is that this control_ops and control_list_func unnecessarily
complicates the code. By replacing FTRACE_OPS_FL_CONTROL with two new flags
(FTRACE_OPS_FL_RCU and FTRACE_OPS_FL_PER_CPU) we can remove all the code
that is special with the control ops and add the needed checks within the
generic ftrace_list_func().
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace_event_perf.c')
-rw-r--r-- | kernel/trace/trace_event_perf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/trace/trace_event_perf.c b/kernel/trace/trace_event_perf.c index abfc903e741e..2649c85cd162 100644 --- a/kernel/trace/trace_event_perf.c +++ b/kernel/trace/trace_event_perf.c @@ -334,7 +334,7 @@ static int perf_ftrace_function_register(struct perf_event *event) { struct ftrace_ops *ops = &event->ftrace_ops; - ops->flags |= FTRACE_OPS_FL_CONTROL; + ops->flags |= FTRACE_OPS_FL_PER_CPU | FTRACE_OPS_FL_RCU; ops->func = perf_ftrace_function_call; return register_ftrace_function(ops); } |