• Joel Fernandes (Google)'s avatar
    rcu: Track laziness during boot and suspend · 6efdda8b
    Joel Fernandes (Google) authored
    Boot and suspend/resume should not be slowed down in kernels built with
    CONFIG_RCU_LAZY=y.  In particular, suspend can sometimes fail in such
    kernels.
    
    This commit therefore adds rcu_async_hurry(), rcu_async_relax(), and
    rcu_async_should_hurry() functions that track whether or not either
    a boot or a suspend/resume operation is in progress.  This will
    enable a later commit to refrain from laziness during those times.
    
    Export rcu_async_should_hurry(), rcu_async_hurry(), and rcu_async_relax()
    for later use by rcutorture.
    
    [ paulmck: Apply feedback from Steve Rostedt. ]
    
    Fixes: 3cb278e7 ("rcu: Make call_rcu() lazy to save power")
    Signed-off-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    6efdda8b
rcu.h 18.4 KB