summaryrefslogtreecommitdiff
path: root/kernel/rcutree.c
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2013-04-08 14:09:57 (GMT)
committerScott Wood <scottwood@freescale.com>2014-04-10 00:20:14 (GMT)
commite67c1fd6a2cea58184eff3d96209895b6440eeb3 (patch)
treecc90a8d9461d0a3ce824f13225021194a16eb137 /kernel/rcutree.c
parent17bcc46e39ba8e8d060f15bfd24a1d07dc30e895 (diff)
downloadlinux-fsl-qoriq-e67c1fd6a2cea58184eff3d96209895b6440eeb3.tar.xz
kernel/treercu: use a simple waitqueue
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Diffstat (limited to 'kernel/rcutree.c')
-rw-r--r--kernel/rcutree.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index 8b08d37..507fab1 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -1488,7 +1488,7 @@ static int __noreturn rcu_gp_kthread(void *arg)
/* Handle grace-period start. */
for (;;) {
- wait_event_interruptible(rsp->gp_wq,
+ swait_event_interruptible(rsp->gp_wq,
rsp->gp_flags &
RCU_GP_FLAG_INIT);
if ((rsp->gp_flags & RCU_GP_FLAG_INIT) &&
@@ -1507,7 +1507,7 @@ static int __noreturn rcu_gp_kthread(void *arg)
}
for (;;) {
rsp->jiffies_force_qs = jiffies + j;
- ret = wait_event_interruptible_timeout(rsp->gp_wq,
+ ret = swait_event_interruptible_timeout(rsp->gp_wq,
(rsp->gp_flags & RCU_GP_FLAG_FQS) ||
(!ACCESS_ONCE(rnp->qsmask) &&
!rcu_preempt_blocked_readers_cgp(rnp)),
@@ -1545,7 +1545,7 @@ static void rsp_wakeup(struct irq_work *work)
struct rcu_state *rsp = container_of(work, struct rcu_state, wakeup_work);
/* Wake up rcu_gp_kthread() to start the grace period. */
- wake_up(&rsp->gp_wq);
+ swait_wake(&rsp->gp_wq);
}
/*
@@ -1619,7 +1619,7 @@ static void rcu_report_qs_rsp(struct rcu_state *rsp, unsigned long flags)
{
WARN_ON_ONCE(!rcu_gp_in_progress(rsp));
raw_spin_unlock_irqrestore(&rcu_get_root(rsp)->lock, flags);
- wake_up(&rsp->gp_wq); /* Memory barrier implied by wake_up() path. */
+ swait_wake(&rsp->gp_wq); /* Memory barrier implied by wake_up() path. */
}
/*
@@ -2189,7 +2189,8 @@ static void force_quiescent_state(struct rcu_state *rsp)
}
rsp->gp_flags |= RCU_GP_FLAG_FQS;
raw_spin_unlock_irqrestore(&rnp_old->lock, flags);
- wake_up(&rsp->gp_wq); /* Memory barrier implied by wake_up() path. */
+ /* Memory barrier implied by wake_up() path. */
+ swait_wake(&rsp->gp_wq);
}
/*
@@ -3314,7 +3315,7 @@ static void __init rcu_init_one(struct rcu_state *rsp,
}
rsp->rda = rda;
- init_waitqueue_head(&rsp->gp_wq);
+ init_swait_head(&rsp->gp_wq);
init_irq_work(&rsp->wakeup_work, rsp_wakeup);
rnp = rsp->level[rcu_num_lvls - 1];
for_each_possible_cpu(i) {