summaryrefslogtreecommitdiffstats
path: root/kernel/rcutree_plugin.h
diff options
context:
space:
mode:
authorPaul E. McKenney <paul.mckenney@linaro.org>2011-03-30 02:48:28 +0200
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-05-06 08:16:56 +0200
commitd71df90eadfc35aa549ff9a850842673febca71f (patch)
treedd275a3f4848784bc6625574341c11befc1b3823 /kernel/rcutree_plugin.h
parentrcu: add callback-queue information to rcudata output (diff)
downloadlinux-d71df90eadfc35aa549ff9a850842673febca71f.tar.xz
linux-d71df90eadfc35aa549ff9a850842673febca71f.zip
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>
Diffstat (limited to 'kernel/rcutree_plugin.h')
-rw-r--r--kernel/rcutree_plugin.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h
index 07d346445d12..22a6a46de7c6 100644
--- a/kernel/rcutree_plugin.h
+++ b/kernel/rcutree_plugin.h
@@ -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;
}