From 8a08a7feb54088c17d65cae19a1fab80fba4acaf Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Sat, 22 Sep 2012 13:55:30 -0700 Subject: [PATCH] --- yaml --- r: 323505 b: refs/heads/master c: a10d206ef1a83121ab7430cb196e0376a7145b22 h: refs/heads/master i: 323503: ab30d0559f95577506558033c24a719eeffcac48 v: v3 --- [refs] | 2 +- trunk/kernel/rcutree.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index ddd67992e61a..8580e64f7da7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7ece55a4a3a04abe37118b1d4fb0b702eeb1de4c +refs/heads/master: a10d206ef1a83121ab7430cb196e0376a7145b22 diff --git a/trunk/kernel/rcutree.c b/trunk/kernel/rcutree.c index f280e542e3e9..f7bcd9e6c054 100644 --- a/trunk/kernel/rcutree.c +++ b/trunk/kernel/rcutree.c @@ -305,7 +305,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); } /*