aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-10-24 11:42:41 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-12-04 13:28:59 -0500
commitf2b1760aedba1d8394636ba31b9e864e82527528 (patch)
treed56f3cf3d669e9ffa8e1c57926e8772fc4ce6559
parent388a4c88064e7e62602b4d92ca127f0b0c9b305a (diff)
doc: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
Now that cond_resched() also provides RCU quiescent states when needed, it can be used in place of cond_resched_rcu_qs(). This commit therefore documents this change. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
-rw-r--r--Documentation/RCU/Design/Data-Structures/Data-Structures.html3
-rw-r--r--Documentation/RCU/Design/Requirements/Requirements.html4
-rw-r--r--Documentation/RCU/stallwarn.txt10
3 files changed, 8 insertions, 9 deletions
diff --git a/Documentation/RCU/Design/Data-Structures/Data-Structures.html b/Documentation/RCU/Design/Data-Structures/Data-Structures.html
index 38d6d800761f..412466e4967a 100644
--- a/Documentation/RCU/Design/Data-Structures/Data-Structures.html
+++ b/Documentation/RCU/Design/Data-Structures/Data-Structures.html
@@ -1097,7 +1097,8 @@ will cause the CPU to disregard the values of its counters on
1097its next exit from idle. 1097its next exit from idle.
1098Finally, the <tt>rcu_qs_ctr_snap</tt> field is used to detect 1098Finally, the <tt>rcu_qs_ctr_snap</tt> field is used to detect
1099cases where a given operation has resulted in a quiescent state 1099cases where a given operation has resulted in a quiescent state
1100for all flavors of RCU, for example, <tt>cond_resched_rcu_qs()</tt>. 1100for all flavors of RCU, for example, <tt>cond_resched()</tt>
1101when RCU has indicated a need for quiescent states.
1101 1102
1102<h5>RCU Callback Handling</h5> 1103<h5>RCU Callback Handling</h5>
1103 1104
diff --git a/Documentation/RCU/Design/Requirements/Requirements.html b/Documentation/RCU/Design/Requirements/Requirements.html
index 62e847bcdcdd..0372e6c54eef 100644
--- a/Documentation/RCU/Design/Requirements/Requirements.html
+++ b/Documentation/RCU/Design/Requirements/Requirements.html
@@ -2797,7 +2797,7 @@ RCU must avoid degrading real-time response for CPU-bound threads, whether
2797executing in usermode (which is one use case for 2797executing in usermode (which is one use case for
2798<tt>CONFIG_NO_HZ_FULL=y</tt>) or in the kernel. 2798<tt>CONFIG_NO_HZ_FULL=y</tt>) or in the kernel.
2799That said, CPU-bound loops in the kernel must execute 2799That said, CPU-bound loops in the kernel must execute
2800<tt>cond_resched_rcu_qs()</tt> at least once per few tens of milliseconds 2800<tt>cond_resched()</tt> at least once per few tens of milliseconds
2801in order to avoid receiving an IPI from RCU. 2801in order to avoid receiving an IPI from RCU.
2802 2802
2803<p> 2803<p>
@@ -3128,7 +3128,7 @@ The solution, in the form of
3128is to have implicit 3128is to have implicit
3129read-side critical sections that are delimited by voluntary context 3129read-side critical sections that are delimited by voluntary context
3130switches, that is, calls to <tt>schedule()</tt>, 3130switches, that is, calls to <tt>schedule()</tt>,
3131<tt>cond_resched_rcu_qs()</tt>, and 3131<tt>cond_resched()</tt>, and
3132<tt>synchronize_rcu_tasks()</tt>. 3132<tt>synchronize_rcu_tasks()</tt>.
3133In addition, transitions to and from userspace execution also delimit 3133In addition, transitions to and from userspace execution also delimit
3134tasks-RCU read-side critical sections. 3134tasks-RCU read-side critical sections.
diff --git a/Documentation/RCU/stallwarn.txt b/Documentation/RCU/stallwarn.txt
index a08f928c8557..4259f95c3261 100644
--- a/Documentation/RCU/stallwarn.txt
+++ b/Documentation/RCU/stallwarn.txt
@@ -23,12 +23,10 @@ o A CPU looping with preemption disabled. This condition can
23o A CPU looping with bottom halves disabled. This condition can 23o A CPU looping with bottom halves disabled. This condition can
24 result in RCU-sched and RCU-bh stalls. 24 result in RCU-sched and RCU-bh stalls.
25 25
26o For !CONFIG_PREEMPT kernels, a CPU looping anywhere in the 26o For !CONFIG_PREEMPT kernels, a CPU looping anywhere in the kernel
27 kernel without invoking schedule(). Note that cond_resched() 27 without invoking schedule(). If the looping in the kernel is
28 does not necessarily prevent RCU CPU stall warnings. Therefore, 28 really expected and desirable behavior, you might need to add
29 if the looping in the kernel is really expected and desirable 29 some calls to cond_resched().
30 behavior, you might need to replace some of the cond_resched()
31 calls with calls to cond_resched_rcu_qs().
32 30
33o Booting Linux using a console connection that is too slow to 31o Booting Linux using a console connection that is too slow to
34 keep up with the boot-time console-message rate. For example, 32 keep up with the boot-time console-message rate. For example,