rcu: Add _notrace variation of rcu_dereference_raw() and hlist_for_each_entry_rcu()
authorSteven Rostedt <rostedt@goodmis.org>
Tue, 28 May 2013 18:38:42 +0000 (14:38 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 29 May 2013 02:47:13 +0000 (22:47 -0400)
commit12bcbe66d7b3cc9f9f86cd02f925666eaa3c2107
tree54e70e0f7450aedfee1418742758dc538d9649e5
parent6721cb60022629ae76365551f05d9658b8d14c55
rcu: Add _notrace variation of rcu_dereference_raw() and hlist_for_each_entry_rcu()

As rcu_dereference_raw() under RCU debug config options can add quite a
bit of checks, and that tracing uses rcu_dereference_raw(), these checks
happen with the function tracer. The function tracer also happens to trace
these debug checks too. This added overhead can livelock the system.

Add a new interface to RCU for both rcu_dereference_raw_notrace() as well
as hlist_for_each_entry_rcu_notrace() as the hlist iterator uses the
rcu_dereference_raw() as well, and is used a bit with the function tracer.

Link: http://lkml.kernel.org/r/20130528184209.304356745@goodmis.org
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/rculist.h
include/linux/rcupdate.h