aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/rcupdate.h
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2009-08-24 12:42:00 -0400
committerIngo Molnar <mingo@elte.hu>2009-08-24 14:37:04 -0400
commit7c614d6461399acca5c0ba444f5db49cb332fc08 (patch)
tree63f4a5368aadafb65030e4d277bf341c4f875a1e /include/linux/rcupdate.h
parent6b3ef48adf847f7adf11c870e3ffacac150f1564 (diff)
rcu: Add "notrace" to RCU function headers used by ftrace
Both rcu_read_lock_sched_notrace() and rcu_read_unlock_sched_notrace() are used by ftrace, and thus need to be marked "notrace". Unfortunately, my naive assumption that gcc would see the inner "notrace" does not hold. Kudos to Lai Jiangshan for noting this. Reported-by: Ingo Molnar <mingo@elte.hu> Bug-spotted-by: Lai Jiangshan <laijs@cn.fujitsu.com> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12511321213243-git-send-email-> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/rcupdate.h')
-rw-r--r--include/linux/rcupdate.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index ec90fc34fea9..8b4422c558da 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -191,7 +191,7 @@ static inline void rcu_read_lock_sched(void)
191 __acquire(RCU_SCHED); 191 __acquire(RCU_SCHED);
192 rcu_read_acquire(); 192 rcu_read_acquire();
193} 193}
194static inline void rcu_read_lock_sched_notrace(void) 194static inline notrace void rcu_read_lock_sched_notrace(void)
195{ 195{
196 preempt_disable_notrace(); 196 preempt_disable_notrace();
197 __acquire(RCU_SCHED); 197 __acquire(RCU_SCHED);
@@ -209,7 +209,7 @@ static inline void rcu_read_unlock_sched(void)
209 __release(RCU_SCHED); 209 __release(RCU_SCHED);
210 preempt_enable(); 210 preempt_enable();
211} 211}
212static inline void rcu_read_unlock_sched_notrace(void) 212static inline notrace void rcu_read_unlock_sched_notrace(void)
213{ 213{
214 rcu_read_release(); 214 rcu_read_release();
215 __release(RCU_SCHED); 215 __release(RCU_SCHED);