diff options
Diffstat (limited to 'kernel/rcutree_plugin.h')
-rw-r--r-- | kernel/rcutree_plugin.h | 3 |
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) | |||
1198 | int more2boost; | 1198 | int more2boost; |
1199 | 1199 | ||
1200 | for (;;) { | 1200 | for (;;) { |
1201 | rnp->boost_kthread_status = RCU_KTHREAD_WAITING; | ||
1201 | wait_event_interruptible(rnp->boost_wq, rnp->boost_tasks || | 1202 | wait_event_interruptible(rnp->boost_wq, rnp->boost_tasks || |
1202 | rnp->exp_tasks || | 1203 | rnp->exp_tasks || |
1203 | kthread_should_stop()); | 1204 | kthread_should_stop()); |
1204 | if (kthread_should_stop()) | 1205 | if (kthread_should_stop()) |
1205 | break; | 1206 | break; |
1207 | rnp->boost_kthread_status = RCU_KTHREAD_RUNNING; | ||
1206 | more2boost = rcu_boost(rnp); | 1208 | more2boost = rcu_boost(rnp); |
1207 | if (more2boost) | 1209 | if (more2boost) |
1208 | spincnt++; | 1210 | spincnt++; |
@@ -1213,6 +1215,7 @@ static int rcu_boost_kthread(void *arg) | |||
1213 | spincnt = 0; | 1215 | spincnt = 0; |
1214 | } | 1216 | } |
1215 | } | 1217 | } |
1218 | rnp->boost_kthread_status = RCU_KTHREAD_STOPPED; | ||
1216 | return 0; | 1219 | return 0; |
1217 | } | 1220 | } |
1218 | 1221 | ||