linux/kernel/rcu
Paul E. McKenney c2a8ec0778 srcu: Move to state-based grace-period sequencing
The current SRCU grace-period processing might never reach the last
portion of srcu_advance_batches().  This is OK given the current
implementation, as the first portion, up to the try_check_zero()
following the srcu_flip() is sufficient to drive grace periods forward.
However, it has the unfortunate side-effect of making it impossible to
determine when a given grace period has ended, and it will be necessary
to efficiently trace ends of grace periods in order to efficiently handle
per-CPU SRCU callback lists.

This commit therefore adds states to the SRCU grace-period processing,
so that the end of a given SRCU grace period is marked by the transition
to the SRCU_STATE_DONE state.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2017-04-18 11:38:20 -07:00
..
Makefile rcutorture: Add RCU grace-period performance tests 2016-03-31 13:37:38 -07:00
rcu_segcblist.h rcu: Add single-element dequeue functions to rcu_segcblist 2017-04-18 11:38:19 -07:00
rcu.h rcu: Fix warning in rcu_seq_end() 2017-04-18 11:38:19 -07:00
rcuperf.c sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
rcutorture.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
srcu.c srcu: Move to state-based grace-period sequencing 2017-04-18 11:38:20 -07:00
sync.c locking, rcu, cgroup: Avoid synchronize_sched() in __cgroup_procs_write() 2016-08-18 15:36:59 +02:00
tiny_plugin.h srcu: Allow SRCU to access rcu_scheduler_active 2017-04-18 11:38:18 -07:00
tiny.c rcu: Semicolon inside RCU_TRACE() for Tiny RCU 2017-04-18 11:38:17 -07:00
tree_exp.h rcu: Expedited wakeups need to be fully ordered 2017-04-18 11:38:19 -07:00
tree_plugin.h srcu: Abstract multi-tail callback list handling 2017-04-18 11:38:18 -07:00
tree_trace.c srcu: Abstract multi-tail callback list handling 2017-04-18 11:38:18 -07:00
tree.c srcu: Move rcu_seq_start() and friends to rcu.h 2017-04-18 11:38:19 -07:00
tree.h srcu: Abstract multi-tail callback list handling 2017-04-18 11:38:18 -07:00
update.c srcu: Allow SRCU to access rcu_scheduler_active 2017-04-18 11:38:18 -07:00