summaryrefslogtreecommitdiff
path: root/include/linux/spinlock.h
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2006-10-04 02:17:17 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-04 07:55:31 -0700
commit20e9751bd9dd6b832fd84ada27840360f7e877f1 (patch)
treec598ff9cb9e540da7f8595f2c130f3674065e018 /include/linux/spinlock.h
parent4b6c2cca6eef9cc4a15350bf1c61839e12e08b84 (diff)
[PATCH] rcu: simplify/improve batch tuning
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: Oleg Nesterov <oleg@tv-sign.ru> Acked-by: Paul E. McKenney <paulmck@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/spinlock.h')
0 files changed, 0 insertions, 0 deletions