diff options
author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2014-06-25 11:54:03 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2014-07-18 13:57:00 -0400 |
commit | 1d48d5960f9f24b8afd5b1dbb10bfe17b5f29a35 (patch) | |
tree | af1835d8028612abcf0282d499ee0baecab2f022 /kernel/trace | |
parent | 1820122a76c6d64adc6e2a7ff438029ffb8d7cb4 (diff) |
ftrace: Remove function_trace_stop check from list func
function_trace_stop is no longer used to stop function tracing.
Remove the check from __ftrace_ops_list_func().
Also, call FTRACE_WARN_ON() instead of setting function_trace_stop
if a ops has no func to call.
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace')
-rw-r--r-- | kernel/trace/ftrace.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 0fa1b87db95c..70abf97d6e84 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c | |||
@@ -4720,9 +4720,6 @@ __ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, | |||
4720 | struct ftrace_ops *op; | 4720 | struct ftrace_ops *op; |
4721 | int bit; | 4721 | int bit; |
4722 | 4722 | ||
4723 | if (function_trace_stop) | ||
4724 | return; | ||
4725 | |||
4726 | bit = trace_test_and_set_recursion(TRACE_LIST_START, TRACE_LIST_MAX); | 4723 | bit = trace_test_and_set_recursion(TRACE_LIST_START, TRACE_LIST_MAX); |
4727 | if (bit < 0) | 4724 | if (bit < 0) |
4728 | return; | 4725 | return; |
@@ -4734,9 +4731,8 @@ __ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, | |||
4734 | preempt_disable_notrace(); | 4731 | preempt_disable_notrace(); |
4735 | do_for_each_ftrace_op(op, ftrace_ops_list) { | 4732 | do_for_each_ftrace_op(op, ftrace_ops_list) { |
4736 | if (ftrace_ops_test(op, ip, regs)) { | 4733 | if (ftrace_ops_test(op, ip, regs)) { |
4737 | if (WARN_ON(!op->func)) { | 4734 | if (FTRACE_WARN_ON(!op->func)) { |
4738 | function_trace_stop = 1; | 4735 | pr_warn("op=%p %pS\n", op, op); |
4739 | printk("op=%p %pS\n", op, op); | ||
4740 | goto out; | 4736 | goto out; |
4741 | } | 4737 | } |
4742 | op->func(ip, parent_ip, op, regs); | 4738 | op->func(ip, parent_ip, op, regs); |