rcu: Make simple callback acceleration refer to rdp->gp_seq_needed
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 1 May 2018 23:29:47 +0000 (16:29 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 12 Jul 2018 22:38:49 +0000 (15:38 -0700)
commite44e73ca47b47510dac491329d453d82aea1d8d8
tree4daaaf0e5b57d81fa4fdfced7a2e4671abf2ae78
parentff3bb6f4d06247508489345ee90a8a9b6f3ffd3b
rcu: Make simple callback acceleration refer to rdp->gp_seq_needed

Now that the rcu_data structure contains ->gp_seq_needed, create an
rcu_accelerate_cbs_unlocked() helper function that locklessly checks to
see if new callbacks' required grace period has already been requested.
If so, update the callback list locally and again locklessly.  (Though
interrupts must be and are disabled to avoid racing with conflicting
updates in interrupt handlers.)

Otherwise, call rcu_accelerate_cbs() as before.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/tree.c