diff options
| -rw-r--r-- | kernel/rcutree.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c index f280e542e3e9..f7bcd9e6c054 100644 --- a/kernel/rcutree.c +++ b/kernel/rcutree.c | |||
| @@ -305,7 +305,9 @@ cpu_has_callbacks_ready_to_invoke(struct rcu_data *rdp) | |||
| 305 | static int | 305 | static int |
| 306 | cpu_needs_another_gp(struct rcu_state *rsp, struct rcu_data *rdp) | 306 | cpu_needs_another_gp(struct rcu_state *rsp, struct rcu_data *rdp) |
| 307 | { | 307 | { |
| 308 | return *rdp->nxttail[RCU_DONE_TAIL] && !rcu_gp_in_progress(rsp); | 308 | return *rdp->nxttail[RCU_DONE_TAIL + |
| 309 | ACCESS_ONCE(rsp->completed) != rdp->completed] && | ||
| 310 | !rcu_gp_in_progress(rsp); | ||
| 309 | } | 311 | } |
| 310 | 312 | ||
| 311 | /* | 313 | /* |
