linux-stable/kernel/rcu
Paul E. McKenney e44e73ca47 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>
2018-07-12 15:38:49 -07:00
..
Kconfig rcu: Drive TASKS_RCU directly off of PREEMPT 2017-08-17 07:26:04 -07:00
Kconfig.debug rcu: Move RCU debug Kconfig options to kernel/rcu 2017-06-08 18:52:44 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rcu.h rcutorture: Convert rcutorture_get_gp_data() to ->gp_seq 2018-07-12 14:27:57 -07:00
rcu_segcblist.c rcu: Simplify and inline cpu_needs_another_gp() 2018-05-15 10:30:59 -07:00
rcu_segcblist.h rcu: Simplify and inline cpu_needs_another_gp() 2018-05-15 10:30:59 -07:00
rcuperf.c rcu: Make rcutorture's batches-completed API use ->gp_seq 2018-07-12 14:27:47 -07:00
rcutorture.c rcutorture: Convert rcutorture_get_gp_data() to ->gp_seq 2018-07-12 14:27:57 -07:00
srcutiny.c srcu: Add cleanup_srcu_struct_quiesced() 2018-05-15 10:27:56 -07:00
srcutree.c rcutorture: Convert rcutorture_get_gp_data() to ->gp_seq 2018-07-12 14:27:57 -07:00
sync.c doc: Fix various RCU docbook comment-header problems 2017-10-19 22:26:11 -04:00
tiny.c srcu: Move rcu_scheduler_starting() from Tiny RCU to Tiny SRCU 2017-07-24 16:03:22 -07:00
tree.c rcu: Make simple callback acceleration refer to rdp->gp_seq_needed 2018-07-12 15:38:49 -07:00
tree.h rcu: Remove ->gpnum and ->completed 2018-07-12 15:38:48 -07:00
tree_exp.h rcu: Make expedited GPs handle CPU 0 being offline 2018-07-12 12:36:06 -07:00
tree_plugin.h rcu: Remove ->gpnum and ->completed 2018-07-12 15:38:48 -07:00
update.c rcu: Move __rcu_read_lock() and __rcu_read_unlock() to tree_plugin.h 2018-05-15 10:27:41 -07:00