• Paul E. McKenney's avatar
    srcu: Move to state-based grace-period sequencing · c2a8ec07
    Paul E. McKenney authored
    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: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    c2a8ec07
srcu.c 21.6 KB