aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r--kernel/rcu/tree.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index aa7cade1b9f3..91f888d3b23a 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -1727,7 +1727,7 @@ static void rcu_gp_kthread_wake(struct rcu_state *rsp)
1727 !READ_ONCE(rsp->gp_flags) || 1727 !READ_ONCE(rsp->gp_flags) ||
1728 !rsp->gp_kthread) 1728 !rsp->gp_kthread)
1729 return; 1729 return;
1730 swake_up(&rsp->gp_wq); 1730 swake_up_one(&rsp->gp_wq);
1731} 1731}
1732 1732
1733/* 1733/*
@@ -2002,7 +2002,7 @@ static bool rcu_gp_init(struct rcu_state *rsp)
2002} 2002}
2003 2003
2004/* 2004/*
2005 * Helper function for swait_event_idle() wakeup at force-quiescent-state 2005 * Helper function for swait_event_idle_exclusive() wakeup at force-quiescent-state
2006 * time. 2006 * time.
2007 */ 2007 */
2008static bool rcu_gp_fqs_check_wake(struct rcu_state *rsp, int *gfp) 2008static bool rcu_gp_fqs_check_wake(struct rcu_state *rsp, int *gfp)
@@ -2144,7 +2144,7 @@ static int __noreturn rcu_gp_kthread(void *arg)
2144 READ_ONCE(rsp->gpnum), 2144 READ_ONCE(rsp->gpnum),
2145 TPS("reqwait")); 2145 TPS("reqwait"));
2146 rsp->gp_state = RCU_GP_WAIT_GPS; 2146 rsp->gp_state = RCU_GP_WAIT_GPS;
2147 swait_event_idle(rsp->gp_wq, READ_ONCE(rsp->gp_flags) & 2147 swait_event_idle_exclusive(rsp->gp_wq, READ_ONCE(rsp->gp_flags) &
2148 RCU_GP_FLAG_INIT); 2148 RCU_GP_FLAG_INIT);
2149 rsp->gp_state = RCU_GP_DONE_GPS; 2149 rsp->gp_state = RCU_GP_DONE_GPS;
2150 /* Locking provides needed memory barrier. */ 2150 /* Locking provides needed memory barrier. */
@@ -2176,7 +2176,7 @@ static int __noreturn rcu_gp_kthread(void *arg)
2176 READ_ONCE(rsp->gpnum), 2176 READ_ONCE(rsp->gpnum),
2177 TPS("fqswait")); 2177 TPS("fqswait"));
2178 rsp->gp_state = RCU_GP_WAIT_FQS; 2178 rsp->gp_state = RCU_GP_WAIT_FQS;
2179 ret = swait_event_idle_timeout(rsp->gp_wq, 2179 ret = swait_event_idle_timeout_exclusive(rsp->gp_wq,
2180 rcu_gp_fqs_check_wake(rsp, &gf), j); 2180 rcu_gp_fqs_check_wake(rsp, &gf), j);
2181 rsp->gp_state = RCU_GP_DOING_FQS; 2181 rsp->gp_state = RCU_GP_DOING_FQS;
2182 /* Locking provides needed memory barriers. */ 2182 /* Locking provides needed memory barriers. */