Skip to content
  • Paul E. McKenney's avatar
    rcu: Adaptive dyntick-idle preparation · f23f7fa1
    Paul E. McKenney authored
    
    
    If there are other CPUs active at a given point in time, then there is a
    limit to what a given CPU can do to advance the current RCU grace period.
    Beyond this limit, attempting to force the RCU grace period forward will
    do nothing but consume energy burning CPU cycles.
    
    Therefore, this commit takes an adaptive approach to RCU_FAST_NO_HZ
    preparations for idle.  It pushes the RCU core state machine for
    two cycles unconditionally, and then it will push from zero to three
    additional cycles, but only as long as the RCU core has work for this
    CPU to do immediately.  The rcu_pending() function is used to check
    whether the RCU core has such work.
    
    Signed-off-by: default avatarPaul E. McKenney <paul.mckenney@linaro.org>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    f23f7fa1