• Paul E. McKenney's avatar
    rcu: Simplify quiescent-state accounting · e4cc1f22
    Paul E. McKenney authored
    There is often a delay between the time that a CPU passes through a
    quiescent state and the time that this quiescent state is reported to the
    RCU core.  It is quite possible that the grace period ended before the
    quiescent state could be reported, for example, some other CPU might have
    deduced that this CPU passed through dyntick-idle mode.  It is critically
    important that quiescent state be counted only against the grace period
    that was in effect at the time that the quiescent state was detected.
    
    Previously, this was handled by recording the number of the last grace
    period to complete when passing through a quiescent state.  The RCU
    core then checks this number against the current value, and rejects
    the quiescent state if there is a mismatch.  However, one additional
    possibility must be accounted for, namely that the quiescent state was
    recorded after the prior grace period completed but before the current
    grace period started.  In this case, the RCU core must re...
    e4cc1f22
rcutree_trace.c 13.9 KB