diff options
| author | 2018-04-26 15:30:28 -0700 | |
|---|---|---|
| committer | 2018-07-12 14:27:46 -0700 | |
| commit | dee4f42298bba030e84035aca5c114f9fee8fa6a (patch) | |
| tree | 03772e489044e5201bde458fea482e0664c01b15 /kernel | |
| parent | rcu: Introduce grace-period sequence numbers (diff) | |
rcu: Move rcu_gp_slow() to ->gp_seq
This commit moves rcu_gp_slow() to ->gp_seq. This function only uses
the grace-period number to modulate delay, so rcu_seq_ctr(rsp->gp_seq)
gets the same effect, at least in cases where the delay is to happen
more than four times per wrap of an unsigned long.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/rcu/tree.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 467cd8e5c6ff..3c3af7e2758f 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -1879,7 +1879,8 @@ static void note_gp_changes(struct rcu_state *rsp, struct rcu_data *rdp) static void rcu_gp_slow(struct rcu_state *rsp, int delay) { if (delay > 0 && - !(rsp->gpnum % (rcu_num_nodes * PER_RCU_NODE_PERIOD * delay))) + !(rcu_seq_ctr(rsp->gp_seq) % + (rcu_num_nodes * PER_RCU_NODE_PERIOD * delay))) schedule_timeout_uninterruptible(delay); } |
