Skip to content
  • Paul E. McKenney's avatar
    rcu: Keep invoking callbacks if CPU otherwise idle · dff1672d
    Paul E. McKenney authored
    
    
    The rcu_do_batch() function that invokes callbacks for TREE_RCU and
    TREE_PREEMPT_RCU normally throttles callback invocation to avoid degrading
    scheduling latency.  However, as long as the CPU would otherwise be idle,
    there is no downside to continuing to invoke any callbacks that have passed
    through their grace periods.  In fact, processing such callbacks in a
    timely manner has the benefit of increasing the probability that the
    CPU can enter the power-saving dyntick-idle mode.
    
    Therefore, this commit allows callback invocation to continue beyond the
    preset limit as long as the scheduler does not have some other task to
    run and as long as context is that of the idle task or the relevant
    RCU kthread.
    
    Signed-off-by: default avatarPaul E. McKenney <paul.mckenney@linaro.org>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    dff1672d