aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/RCU
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/RCU')
-rw-r--r--Documentation/RCU/rcu.txt4
-rw-r--r--Documentation/RCU/stallwarn.txt14
-rw-r--r--Documentation/RCU/trace.txt4
-rw-r--r--Documentation/RCU/whatisRCU.txt2
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?
81o I hear that RCU needs work in order to support realtime kernels? 81o 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
29CONFIG_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
35CONFIG_RCU_CPU_STALL_INFO 29CONFIG_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,
77and that the stall was affecting RCU-sched. This message will normally be 71and that the stall was affecting RCU-sched. This message will normally be
78followed by a stack dump of the offending CPU. On TREE_RCU kernel builds, 72followed by a stack dump of the offending CPU. On TREE_RCU kernel builds,
79RCU and RCU-sched are implemented by the same underlying mechanism, 73RCU and RCU-sched are implemented by the same underlying mechanism,
80while on TREE_PREEMPT_RCU kernel builds, RCU is instead implemented 74while on PREEMPT_RCU kernel builds, RCU is instead implemented
81by rcu_preempt_state. 75by rcu_preempt_state.
82 76
83On the other hand, if the offending CPU fails to print out a stall-warning 77On 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
89This message indicates that CPU 2 detected that CPUs 3 and 5 were both 83This message indicates that CPU 2 detected that CPUs 3 and 5 were both
90causing stalls, and that the stall was affecting RCU-bh. This message 84causing stalls, and that the stall was affecting RCU-bh. This message
91will normally be followed by stack dumps for each CPU. Please note that 85will normally be followed by stack dumps for each CPU. Please note that
92TREE_PREEMPT_RCU builds can be stalled by tasks as well as by CPUs, 86PREEMPT_RCU builds can be stalled by tasks as well as by CPUs,
93and that the tasks will be indicated by PID, for example, "P3421". 87and that the tasks will be indicated by PID, for example, "P3421".
94It is even possible for a rcu_preempt_state stall to be caused by both 88It is even possible for a rcu_preempt_state stall to be caused by both
95CPUs -and- tasks, in which case the offending CPUs and tasks will all 89CPUs -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
205o A CPU-bound real-time task in a CONFIG_PREEMPT_RT kernel that 199o 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
214o A hardware or software issue shuts off the scheduler-clock 208o 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
8for rcutree and next for rcutiny. 8for rcutree and next for rcutiny.
9 9
10 10
11CONFIG_TREE_RCU and CONFIG_TREE_PREEMPT_RCU debugfs Files and Formats 11CONFIG_TREE_RCU and CONFIG_PREEMPT_RCU debugfs Files and Formats
12 12
13These implementations of RCU provide several debugfs directories under the 13These implementations of RCU provide several debugfs directories under the
14top-level directory "rcu": 14top-level directory "rcu":
@@ -18,7 +18,7 @@ rcu/rcu_preempt
18rcu/rcu_sched 18rcu/rcu_sched
19 19
20Each directory contains files for the corresponding flavor of RCU. 20Each directory contains files for the corresponding flavor of RCU.
21Note that rcu/rcu_preempt is only present for CONFIG_TREE_PREEMPT_RCU. 21Note that rcu/rcu_preempt is only present for CONFIG_PREEMPT_RCU.
22For CONFIG_TREE_RCU, the RCU flavor maps onto the RCU-sched flavor, 22For CONFIG_TREE_RCU, the RCU flavor maps onto the RCU-sched flavor,
23so that activity for both appears in rcu/rcu_sched. 23so 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.