• Paul E. McKenney's avatar
    rcu: Execute RCU reader shortly after rcu_core for strict GPs · a657f261
    Paul E. McKenney authored
    A kernel built with CONFIG_RCU_STRICT_GRACE_PERIOD=y needs a quiescent
    state to appear very shortly after a CPU has noticed a new grace period.
    Placing an RCU reader immediately after this point is ineffective because
    this normally happens in softirq context, which acts as a big RCU reader.
    This commit therefore introduces a new per-CPU work_struct, which is
    used at the end of rcu_core() processing to schedule an RCU read-side
    critical section from within a clean environment.
    
    Reported-by Jann Horn <jannh@google.com>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    a657f261
tree.c 142 KB