aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcutree.c
diff options
context:
space:
mode:
authorKalimochoAz <calimochoazucarado@gmail.com>2012-10-14 21:07:58 +0200
committerKalimochoAz <calimochoazucarado@gmail.com>2012-10-14 21:07:58 +0200
commit70268992c575948147c0e9c71d1e1ee0517a16ed (patch)
tree6afda549de3bd5f3f5a93dff9be900c89bba0d07 /kernel/rcutree.c
parent8a229ae2d652b42437863787cfc28f7f8a78a35d (diff)
parent85ce02207e7728d82cc6183d34c2bdd9e1999b2e (diff)
downloadkernel_samsung_crespo-70268992c575948147c0e9c71d1e1ee0517a16ed.zip
kernel_samsung_crespo-70268992c575948147c0e9c71d1e1ee0517a16ed.tar.gz
kernel_samsung_crespo-70268992c575948147c0e9c71d1e1ee0517a16ed.tar.bz2
Merge commit '85ce022' into HEAD
Diffstat (limited to 'kernel/rcutree.c')
-rw-r--r--kernel/rcutree.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index ba06207..fe7a9b0 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -283,7 +283,9 @@ cpu_has_callbacks_ready_to_invoke(struct rcu_data *rdp)
static int
cpu_needs_another_gp(struct rcu_state *rsp, struct rcu_data *rdp)
{
- return *rdp->nxttail[RCU_DONE_TAIL] && !rcu_gp_in_progress(rsp);
+ return *rdp->nxttail[RCU_DONE_TAIL +
+ ACCESS_ONCE(rsp->completed) != rdp->completed] &&
+ !rcu_gp_in_progress(rsp);
}
/*