• Paul E. McKenney's avatar
    rcu: Simplify rcu_read_unlock_special() quiescent-state accounting · c3422bea
    Paul E. McKenney authored
    The earlier approach required two scheduling-clock ticks to note an
    preemptable-RCU quiescent state in the situation in which the
    scheduling-clock interrupt is unlucky enough to always interrupt an
    RCU read-side critical section.
    
    With this change, the quiescent state is instead noted by the
    outermost rcu_read_unlock() immediately following the first
    scheduling-clock tick, or, alternatively, by the first subsequent
    context switch.  Therefore, this change also speeds up grace
    periods.
    Suggested-by: default avatarJosh Triplett <josh@joshtriplett.org>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: laijs@cn.fujitsu.com
    Cc: dipankar@in.ibm.com
    Cc: akpm@linux-foundation.org
    Cc: mathieu.desnoyers@polymtl.ca
    Cc: dvhltc@us.ibm.com
    Cc: niv@us.ibm.com
    Cc: peterz@infradead.org
    Cc: rostedt@goodmis.org
    Cc: Valdis.Kletnieks@vt.edu
    LKML-Reference: <12528585111945-git-send-email->
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    c3422bea
rcutree_plugin.h 15.1 KB