]> Pileus Git - ~andy/linux/commit
rcu: Make __note_new_gpnum() check for ends of prior grace periods
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 19 Mar 2013 17:53:14 +0000 (10:53 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 10 Jun 2013 20:39:42 +0000 (13:39 -0700)
commit398ebe6000c16135d12ce2ff64318f306ffb20b0
tree3eda2c6793159387c1a78311b014ae959fdf3c44
parent6eaef633d77f50f031dd355ff5f91aaa1aaf9885
rcu: Make __note_new_gpnum() check for ends of prior grace periods

The current implementation can detect the beginning of a new grace period
before noting the end of a previous grace period.  Although the current
implementation correctly handles this sort of nonsense, it would be
good to reduce RCU's state space by making such nonsense unnecessary,
which is now possible thanks to the fact that RCU's callback groups are
now numbered.

This commit therefore makes __note_new_gpnum() invoke
__rcu_process_gp_end() in order to note the ends of prior grace
periods before noting the beginnings of new grace periods.
Of course, this now means that note_new_gpnum() notes both the
beginnings and ends of grace periods, and could therefore be
used in place of rcu_process_gp_end().  But that is a job for
later commits.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
kernel/rcutree.c