rcu: add tracing for RCU's kthread run states.

Add tracing to help debugging situations when RCU's kthreads are not
running but are supposed to be.

Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
This commit is contained in:
Paul E. McKenney 2011-03-29 17:48:28 -07:00 committed by Paul E. McKenney
parent 0ac3d136b2
commit d71df90ead
4 changed files with 44 additions and 4 deletions

View file

@ -1198,11 +1198,13 @@ static int rcu_boost_kthread(void *arg)
int more2boost;
for (;;) {
rnp->boost_kthread_status = RCU_KTHREAD_WAITING;
wait_event_interruptible(rnp->boost_wq, rnp->boost_tasks ||
rnp->exp_tasks ||
kthread_should_stop());
if (kthread_should_stop())
break;
rnp->boost_kthread_status = RCU_KTHREAD_RUNNING;
more2boost = rcu_boost(rnp);
if (more2boost)
spincnt++;
@ -1213,6 +1215,7 @@ static int rcu_boost_kthread(void *arg)
spincnt = 0;
}
}
rnp->boost_kthread_status = RCU_KTHREAD_STOPPED;
return 0;
}