aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcutiny.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paul.mckenney@linaro.org>2010-10-01 00:26:52 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-11-30 01:01:55 -0500
commit9e571a82f0cb205a65a0ea41657f19f22b7fabb8 (patch)
tree64a83a06e18d0fd82af91560a2bf0947e0e3d071 /kernel/rcutiny.c
parent24278d148316d2180be6df40e06db013d8b232b8 (diff)
rcu: add tracing for TINY_RCU and TINY_PREEMPT_RCU
Add tracing for the tiny RCU implementations, including statistics on boosting in the case of TINY_PREEMPT_RCU and RCU_BOOST. Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcutiny.c')
-rw-r--r--kernel/rcutiny.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/rcutiny.c b/kernel/rcutiny.c
index 93d166582cbb..034493724749 100644
--- a/kernel/rcutiny.c
+++ b/kernel/rcutiny.c
@@ -144,6 +144,7 @@ static void rcu_process_callbacks(struct rcu_ctrlblk *rcp)
144{ 144{
145 struct rcu_head *next, *list; 145 struct rcu_head *next, *list;
146 unsigned long flags; 146 unsigned long flags;
147 RCU_TRACE(int cb_count = 0);
147 148
148 /* If no RCU callbacks ready to invoke, just return. */ 149 /* If no RCU callbacks ready to invoke, just return. */
149 if (&rcp->rcucblist == rcp->donetail) 150 if (&rcp->rcucblist == rcp->donetail)
@@ -169,7 +170,9 @@ static void rcu_process_callbacks(struct rcu_ctrlblk *rcp)
169 list->func(list); 170 list->func(list);
170 local_bh_enable(); 171 local_bh_enable();
171 list = next; 172 list = next;
173 RCU_TRACE(cb_count++);
172 } 174 }
175 RCU_TRACE(rcu_trace_sub_qlen(rcp, cb_count));
173} 176}
174 177
175/* 178/*
@@ -252,6 +255,7 @@ static void __call_rcu(struct rcu_head *head,
252 local_irq_save(flags); 255 local_irq_save(flags);
253 *rcp->curtail = head; 256 *rcp->curtail = head;
254 rcp->curtail = &head->next; 257 rcp->curtail = &head->next;
258 RCU_TRACE(rcp->qlen++);
255 local_irq_restore(flags); 259 local_irq_restore(flags);
256} 260}
257 261