summaryrefslogtreecommitdiff
path: root/kernel/rcu
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-12-31 19:48:36 +0300
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2016-03-31 23:34:49 +0300
commit86057b80ae31d37fcbdb5f57d15aaf1148c69f96 (patch)
tree8b7ec833f68738a933d647e1d85056e66e85c49f /kernel/rcu
parent274529ba9bda86c91c2c06da3a641aaf617dd30f (diff)
downloadlinux-86057b80ae31d37fcbdb5f57d15aaf1148c69f96.tar.xz
rcu: Awaken grace-period kthread when stalled
Recent kernels can fail to awaken the grace-period kthread for quiescent-state forcing. This commit is a crude hack that does a wakeup any time a stall is detected. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu')
-rw-r--r--kernel/rcu/tree.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 531a328076bd..a327a253c178 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -1224,8 +1224,10 @@ static void rcu_check_gp_kthread_starvation(struct rcu_state *rsp)
rsp->gp_flags,
gp_state_getname(rsp->gp_state), rsp->gp_state,
rsp->gp_kthread ? rsp->gp_kthread->state : ~0);
- if (rsp->gp_kthread)
+ if (rsp->gp_kthread) {
sched_show_task(rsp->gp_kthread);
+ wake_up_process(rsp->gp_kthread);
+ }
}
}