From: "Steven Rostedt (Red Hat)" Having the RCU unsafe checker running when function graph is enabled can cause a live lock. That's because the RCU unsafe checker enables full lockdep debugging on RCU which does a lot of interal calls that may be traced by the function graph tacer. This adds quite a bit of overhead and can possibly live lock the system. Just do not do the RCU unsafe checks when function graph tracer is enabled. Signed-off-by: Steven Rostedt --- kernel/trace/ftrace.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 69b7f62..310b727 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -5118,6 +5118,12 @@ int register_ftrace_graph(trace_func_graph_ret_t retfunc, goto out; } + /* + * The Unsafe RCU checker can live lock function graph tracing. + * It's best to just disable it while doing the fgraph tracing. + */ + ftrace_unsafe_rcu_checker_disable(); + ftrace_graph_return = retfunc; ftrace_graph_entry = entryfunc; @@ -5141,6 +5147,7 @@ void unregister_ftrace_graph(void) ftrace_shutdown(&global_ops, FTRACE_STOP_FUNC_RET); unregister_pm_notifier(&ftrace_suspend_notifier); unregister_trace_sched_switch(ftrace_graph_probe_sched_switch, NULL); + ftrace_unsafe_rcu_checker_enable(); out: mutex_unlock(&ftrace_lock); -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/