|
@@ -2067,8 +2067,8 @@ static bool rcu_gp_init(struct rcu_state *rsp)
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
- * Helper function for wait_event_interruptible_timeout() wakeup
|
|
|
- * at force-quiescent-state time.
|
|
|
+ * Helper function for swait_event_idle() wakeup at force-quiescent-state
|
|
|
+ * time.
|
|
|
*/
|
|
|
static bool rcu_gp_fqs_check_wake(struct rcu_state *rsp, int *gfp)
|
|
|
{
|
|
@@ -2206,9 +2206,8 @@ static int __noreturn rcu_gp_kthread(void *arg)
|
|
|
READ_ONCE(rsp->gpnum),
|
|
|
TPS("reqwait"));
|
|
|
rsp->gp_state = RCU_GP_WAIT_GPS;
|
|
|
- swait_event_interruptible(rsp->gp_wq,
|
|
|
- READ_ONCE(rsp->gp_flags) &
|
|
|
- RCU_GP_FLAG_INIT);
|
|
|
+ swait_event_idle(rsp->gp_wq, READ_ONCE(rsp->gp_flags) &
|
|
|
+ RCU_GP_FLAG_INIT);
|
|
|
rsp->gp_state = RCU_GP_DONE_GPS;
|
|
|
/* Locking provides needed memory barrier. */
|
|
|
if (rcu_gp_init(rsp))
|
|
@@ -2239,7 +2238,7 @@ static int __noreturn rcu_gp_kthread(void *arg)
|
|
|
READ_ONCE(rsp->gpnum),
|
|
|
TPS("fqswait"));
|
|
|
rsp->gp_state = RCU_GP_WAIT_FQS;
|
|
|
- ret = swait_event_interruptible_timeout(rsp->gp_wq,
|
|
|
+ ret = swait_event_idle_timeout(rsp->gp_wq,
|
|
|
rcu_gp_fqs_check_wake(rsp, &gf), j);
|
|
|
rsp->gp_state = RCU_GP_DOING_FQS;
|
|
|
/* Locking provides needed memory barriers. */
|