• O
    [PATCH] rcu: simplify/improve batch tuning · 20e9751b
    Oleg Nesterov 提交于
    Kill a hard-to-calculate 'rsinterval' boot parameter and per-cpu
    rcu_data.last_rs_qlen.  Instead, it adds adds a flag rcu_ctrlblk.signaled,
    which records the fact that one of CPUs has sent a resched IPI since the
    last rcu_start_batch().
    
    Roughly speaking, we need two rcu_start_batch()s in order to move callbacks
    from ->nxtlist to ->donelist.  This means that when ->qlen exceeds qhimark
    and continues to grow, we should send a resched IPI, and then do it again
    after we gone through a quiescent state.
    
    On the other hand, if it was already sent, we don't need to do it again
    when another CPU detects overflow of the queue.
    Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
    Acked-by: NPaul E. McKenney <paulmck@us.ibm.com>
    Signed-off-by: NAndrew Morton <akpm@osdl.org>
    Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
    20e9751b
rcupdate.h 9.5 KB