ftrace: Remove use of control list and ops
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Mon, 30 Nov 2015 22:23:39 +0000 (17:23 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 23 Dec 2015 19:27:18 +0000 (14:27 -0500)
commitba27f2bc731135a0396f3968bdddb54f3bc72e64
tree87934949543a15c834424efa084c5b3916f25d82
parent030f4e1cb86f059185572fd1678a55b5e8ff0d08
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>
include/linux/ftrace.h
kernel/trace/ftrace.c
kernel/trace/trace.h
kernel/trace/trace_event_perf.c