diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2014-07-01 20:26:57 +0200 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2014-09-08 01:27:20 +0200 |
commit | bde6c3aa993066acb0d6ce32ecabe03b9d5df92d (patch) | |
tree | 09ec78a9cfa751ce36288c32c4e5112f34af8582 /kernel/rcu/update.c | |
parent | rcu: Add call_rcu_tasks() (diff) | |
download | linux-bde6c3aa993066acb0d6ce32ecabe03b9d5df92d.tar.xz linux-bde6c3aa993066acb0d6ce32ecabe03b9d5df92d.zip |
rcu: Provide cond_resched_rcu_qs() to force quiescent states in long loops
RCU-tasks requires the occasional voluntary context switch
from CPU-bound in-kernel tasks. In some cases, this requires
instrumenting cond_resched(). However, there is some reluctance
to countenance unconditionally instrumenting cond_resched() (see
http://lwn.net/Articles/603252/), so this commit creates a separate
cond_resched_rcu_qs() that may be used in place of cond_resched() in
locations prone to long-duration in-kernel looping.
This commit currently instruments only RCU-tasks. Future possibilities
include also instrumenting RCU, RCU-bh, and RCU-sched in order to reduce
IPI usage.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu/update.c')
0 files changed, 0 insertions, 0 deletions