diff options
Diffstat (limited to 'Documentation/RCU')
-rw-r--r-- | Documentation/RCU/rcu.txt | 4 | ||||
-rw-r--r-- | Documentation/RCU/stallwarn.txt | 14 | ||||
-rw-r--r-- | Documentation/RCU/trace.txt | 4 | ||||
-rw-r--r-- | Documentation/RCU/whatisRCU.txt | 2 |
4 files changed, 9 insertions, 15 deletions
diff --git a/Documentation/RCU/rcu.txt b/Documentation/RCU/rcu.txt index bf778332a28f..745f429fda79 100644 --- a/Documentation/RCU/rcu.txt +++ b/Documentation/RCU/rcu.txt | |||
@@ -36,7 +36,7 @@ o How can the updater tell when a grace period has completed | |||
36 | executed in user mode, or executed in the idle loop, we can | 36 | executed in user mode, or executed in the idle loop, we can |
37 | safely free up that item. | 37 | safely free up that item. |
38 | 38 | ||
39 | Preemptible variants of RCU (CONFIG_TREE_PREEMPT_RCU) get the | 39 | Preemptible variants of RCU (CONFIG_PREEMPT_RCU) get the |
40 | same effect, but require that the readers manipulate CPU-local | 40 | same effect, but require that the readers manipulate CPU-local |
41 | counters. These counters allow limited types of blocking within | 41 | counters. These counters allow limited types of blocking within |
42 | RCU read-side critical sections. SRCU also uses CPU-local | 42 | RCU read-side critical sections. SRCU also uses CPU-local |
@@ -81,7 +81,7 @@ o I hear that RCU is patented? What is with that? | |||
81 | o I hear that RCU needs work in order to support realtime kernels? | 81 | o I hear that RCU needs work in order to support realtime kernels? |
82 | 82 | ||
83 | This work is largely completed. Realtime-friendly RCU can be | 83 | This work is largely completed. Realtime-friendly RCU can be |
84 | enabled via the CONFIG_TREE_PREEMPT_RCU kernel configuration | 84 | enabled via the CONFIG_PREEMPT_RCU kernel configuration |
85 | parameter. However, work is in progress for enabling priority | 85 | parameter. However, work is in progress for enabling priority |
86 | boosting of preempted RCU read-side critical sections. This is | 86 | boosting of preempted RCU read-side critical sections. This is |
87 | needed if you have CPU-bound realtime threads. | 87 | needed if you have CPU-bound realtime threads. |
diff --git a/Documentation/RCU/stallwarn.txt b/Documentation/RCU/stallwarn.txt index ef5a2fd4ff70..ed186a902d31 100644 --- a/Documentation/RCU/stallwarn.txt +++ b/Documentation/RCU/stallwarn.txt | |||
@@ -26,12 +26,6 @@ CONFIG_RCU_CPU_STALL_TIMEOUT | |||
26 | Stall-warning messages may be enabled and disabled completely via | 26 | Stall-warning messages may be enabled and disabled completely via |
27 | /sys/module/rcupdate/parameters/rcu_cpu_stall_suppress. | 27 | /sys/module/rcupdate/parameters/rcu_cpu_stall_suppress. |
28 | 28 | ||
29 | CONFIG_RCU_CPU_STALL_VERBOSE | ||
30 | |||
31 | This kernel configuration parameter causes the stall warning to | ||
32 | also dump the stacks of any tasks that are blocking the current | ||
33 | RCU-preempt grace period. | ||
34 | |||
35 | CONFIG_RCU_CPU_STALL_INFO | 29 | CONFIG_RCU_CPU_STALL_INFO |
36 | 30 | ||
37 | This kernel configuration parameter causes the stall warning to | 31 | This kernel configuration parameter causes the stall warning to |
@@ -77,7 +71,7 @@ This message indicates that CPU 5 detected that it was causing a stall, | |||
77 | and that the stall was affecting RCU-sched. This message will normally be | 71 | and that the stall was affecting RCU-sched. This message will normally be |
78 | followed by a stack dump of the offending CPU. On TREE_RCU kernel builds, | 72 | followed by a stack dump of the offending CPU. On TREE_RCU kernel builds, |
79 | RCU and RCU-sched are implemented by the same underlying mechanism, | 73 | RCU and RCU-sched are implemented by the same underlying mechanism, |
80 | while on TREE_PREEMPT_RCU kernel builds, RCU is instead implemented | 74 | while on PREEMPT_RCU kernel builds, RCU is instead implemented |
81 | by rcu_preempt_state. | 75 | by rcu_preempt_state. |
82 | 76 | ||
83 | On the other hand, if the offending CPU fails to print out a stall-warning | 77 | On the other hand, if the offending CPU fails to print out a stall-warning |
@@ -89,7 +83,7 @@ INFO: rcu_bh_state detected stalls on CPUs/tasks: { 3 5 } (detected by 2, 2502 j | |||
89 | This message indicates that CPU 2 detected that CPUs 3 and 5 were both | 83 | This message indicates that CPU 2 detected that CPUs 3 and 5 were both |
90 | causing stalls, and that the stall was affecting RCU-bh. This message | 84 | causing stalls, and that the stall was affecting RCU-bh. This message |
91 | will normally be followed by stack dumps for each CPU. Please note that | 85 | will normally be followed by stack dumps for each CPU. Please note that |
92 | TREE_PREEMPT_RCU builds can be stalled by tasks as well as by CPUs, | 86 | PREEMPT_RCU builds can be stalled by tasks as well as by CPUs, |
93 | and that the tasks will be indicated by PID, for example, "P3421". | 87 | and that the tasks will be indicated by PID, for example, "P3421". |
94 | It is even possible for a rcu_preempt_state stall to be caused by both | 88 | It is even possible for a rcu_preempt_state stall to be caused by both |
95 | CPUs -and- tasks, in which case the offending CPUs and tasks will all | 89 | CPUs -and- tasks, in which case the offending CPUs and tasks will all |
@@ -205,10 +199,10 @@ o A CPU-bound real-time task in a CONFIG_PREEMPT kernel, which might | |||
205 | o A CPU-bound real-time task in a CONFIG_PREEMPT_RT kernel that | 199 | o A CPU-bound real-time task in a CONFIG_PREEMPT_RT kernel that |
206 | is running at a higher priority than the RCU softirq threads. | 200 | is running at a higher priority than the RCU softirq threads. |
207 | This will prevent RCU callbacks from ever being invoked, | 201 | This will prevent RCU callbacks from ever being invoked, |
208 | and in a CONFIG_TREE_PREEMPT_RCU kernel will further prevent | 202 | and in a CONFIG_PREEMPT_RCU kernel will further prevent |
209 | RCU grace periods from ever completing. Either way, the | 203 | RCU grace periods from ever completing. Either way, the |
210 | system will eventually run out of memory and hang. In the | 204 | system will eventually run out of memory and hang. In the |
211 | CONFIG_TREE_PREEMPT_RCU case, you might see stall-warning | 205 | CONFIG_PREEMPT_RCU case, you might see stall-warning |
212 | messages. | 206 | messages. |
213 | 207 | ||
214 | o A hardware or software issue shuts off the scheduler-clock | 208 | o A hardware or software issue shuts off the scheduler-clock |
diff --git a/Documentation/RCU/trace.txt b/Documentation/RCU/trace.txt index 910870b15acd..b63b9bb3bc0c 100644 --- a/Documentation/RCU/trace.txt +++ b/Documentation/RCU/trace.txt | |||
@@ -8,7 +8,7 @@ The following sections describe the debugfs files and formats, first | |||
8 | for rcutree and next for rcutiny. | 8 | for rcutree and next for rcutiny. |
9 | 9 | ||
10 | 10 | ||
11 | CONFIG_TREE_RCU and CONFIG_TREE_PREEMPT_RCU debugfs Files and Formats | 11 | CONFIG_TREE_RCU and CONFIG_PREEMPT_RCU debugfs Files and Formats |
12 | 12 | ||
13 | These implementations of RCU provide several debugfs directories under the | 13 | These implementations of RCU provide several debugfs directories under the |
14 | top-level directory "rcu": | 14 | top-level directory "rcu": |
@@ -18,7 +18,7 @@ rcu/rcu_preempt | |||
18 | rcu/rcu_sched | 18 | rcu/rcu_sched |
19 | 19 | ||
20 | Each directory contains files for the corresponding flavor of RCU. | 20 | Each directory contains files for the corresponding flavor of RCU. |
21 | Note that rcu/rcu_preempt is only present for CONFIG_TREE_PREEMPT_RCU. | 21 | Note that rcu/rcu_preempt is only present for CONFIG_PREEMPT_RCU. |
22 | For CONFIG_TREE_RCU, the RCU flavor maps onto the RCU-sched flavor, | 22 | For CONFIG_TREE_RCU, the RCU flavor maps onto the RCU-sched flavor, |
23 | so that activity for both appears in rcu/rcu_sched. | 23 | so that activity for both appears in rcu/rcu_sched. |
24 | 24 | ||
diff --git a/Documentation/RCU/whatisRCU.txt b/Documentation/RCU/whatisRCU.txt index e48c57f1943b..88dfce182f66 100644 --- a/Documentation/RCU/whatisRCU.txt +++ b/Documentation/RCU/whatisRCU.txt | |||
@@ -137,7 +137,7 @@ rcu_read_lock() | |||
137 | Used by a reader to inform the reclaimer that the reader is | 137 | Used by a reader to inform the reclaimer that the reader is |
138 | entering an RCU read-side critical section. It is illegal | 138 | entering an RCU read-side critical section. It is illegal |
139 | to block while in an RCU read-side critical section, though | 139 | to block while in an RCU read-side critical section, though |
140 | kernels built with CONFIG_TREE_PREEMPT_RCU can preempt RCU | 140 | kernels built with CONFIG_PREEMPT_RCU can preempt RCU |
141 | read-side critical sections. Any RCU-protected data structure | 141 | read-side critical sections. Any RCU-protected data structure |
142 | accessed during an RCU read-side critical section is guaranteed to | 142 | accessed during an RCU read-side critical section is guaranteed to |
143 | remain unreclaimed for the full duration of that critical section. | 143 | remain unreclaimed for the full duration of that critical section. |