ftrace/rcu: Do not trace debug_lockdep_rcu_enabled()
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Sat, 31 Aug 2013 05:04:07 +0000 (01:04 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Thu, 5 Sep 2013 13:31:33 +0000 (09:31 -0400)
The function debug_lockdep_rcu_enabled() is part of the RCU lockdep
debugging, and is called very frequently. I found that if I enable
a lot of debugging and run the function graph tracer, this
function can cause a live lock of the system.

We don't usually trace lockdep infrastructure, no need to trace
this either.

Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/rcupdate.c

index cce6ba8bbace7f0793d008c725c9599a5ba8c1d1..4f20c6c6a8488fe65a3c892aa4c0fa5d785c1de3 100644 (file)
@@ -122,7 +122,7 @@ struct lockdep_map rcu_sched_lock_map =
        STATIC_LOCKDEP_MAP_INIT("rcu_read_lock_sched", &rcu_sched_lock_key);
 EXPORT_SYMBOL_GPL(rcu_sched_lock_map);
 
-int debug_lockdep_rcu_enabled(void)
+int notrace debug_lockdep_rcu_enabled(void)
 {
        return rcu_scheduler_active && debug_locks &&
               current->lockdep_recursion == 0;