diff options
author | Paul E. McKenney <paul.mckenney@linaro.org> | 2010-11-30 00:56:39 -0500 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-05-06 02:16:54 -0400 |
commit | 12f5f524cafef3ab689929b118f2dfb8bf2be321 (patch) | |
tree | 639473556b6edf9b79e0a18d5ba58f80eea76519 /Documentation/RCU | |
parent | e59fb3120becfb36b22ddb8bd27d065d3cdca499 (diff) |
rcu: merge TREE_PREEPT_RCU blocked_tasks[] lists
Combine the current TREE_PREEMPT_RCU ->blocked_tasks[] lists in the
rcu_node structure into a single ->blkd_tasks list with ->gp_tasks
and ->exp_tasks tail pointers. This is in preparation for RCU priority
boosting, which will add a third dimension to the combinatorial explosion
in the ->blocked_tasks[] case, but simply a third pointer in the new
->blkd_tasks case.
Also update documentation to reflect blocked_tasks[] merge
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'Documentation/RCU')
-rw-r--r-- | Documentation/RCU/trace.txt | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/Documentation/RCU/trace.txt b/Documentation/RCU/trace.txt index e731ad20d166..5a704ffd0bbc 100644 --- a/Documentation/RCU/trace.txt +++ b/Documentation/RCU/trace.txt | |||
@@ -166,14 +166,14 @@ o "gpnum" is the number of grace periods that have started. It is | |||
166 | The output of "cat rcu/rcuhier" looks as follows, with very long lines: | 166 | The output of "cat rcu/rcuhier" looks as follows, with very long lines: |
167 | 167 | ||
168 | c=6902 g=6903 s=2 jfq=3 j=72c7 nfqs=13142/nfqsng=0(13142) fqlh=6 | 168 | c=6902 g=6903 s=2 jfq=3 j=72c7 nfqs=13142/nfqsng=0(13142) fqlh=6 |
169 | 1/1 .>. 0:127 ^0 | 169 | 1/1 ..>. 0:127 ^0 |
170 | 3/3 .>. 0:35 ^0 0/0 .>. 36:71 ^1 0/0 .>. 72:107 ^2 0/0 .>. 108:127 ^3 | 170 | 3/3 ..>. 0:35 ^0 0/0 ..>. 36:71 ^1 0/0 ..>. 72:107 ^2 0/0 ..>. 108:127 ^3 |
171 | 3/3f .>. 0:5 ^0 2/3 .>. 6:11 ^1 0/0 .>. 12:17 ^2 0/0 .>. 18:23 ^3 0/0 .>. 24:29 ^4 0/0 .>. 30:35 ^5 0/0 .>. 36:41 ^0 0/0 .>. 42:47 ^1 0/0 .>. 48:53 ^2 0/0 .>. 54:59 ^3 0/0 .>. 60:65 ^4 0/0 .>. 66:71 ^5 0/0 .>. 72:77 ^0 0/0 .>. 78:83 ^1 0/0 .>. 84:89 ^2 0/0 .>. 90:95 ^3 0/0 .>. 96:101 ^4 0/0 .>. 102:107 ^5 0/0 .>. 108:113 ^0 0/0 .>. 114:119 ^1 0/0 .>. 120:125 ^2 0/0 .>. 126:127 ^3 | 171 | 3/3f ..>. 0:5 ^0 2/3 ..>. 6:11 ^1 0/0 ..>. 12:17 ^2 0/0 ..>. 18:23 ^3 0/0 ..>. 24:29 ^4 0/0 ..>. 30:35 ^5 0/0 ..>. 36:41 ^0 0/0 ..>. 42:47 ^1 0/0 ..>. 48:53 ^2 0/0 ..>. 54:59 ^3 0/0 ..>. 60:65 ^4 0/0 ..>. 66:71 ^5 0/0 ..>. 72:77 ^0 0/0 ..>. 78:83 ^1 0/0 ..>. 84:89 ^2 0/0 ..>. 90:95 ^3 0/0 ..>. 96:101 ^4 0/0 ..>. 102:107 ^5 0/0 ..>. 108:113 ^0 0/0 ..>. 114:119 ^1 0/0 ..>. 120:125 ^2 0/0 ..>. 126:127 ^3 |
172 | rcu_bh: | 172 | rcu_bh: |
173 | c=-226 g=-226 s=1 jfq=-5701 j=72c7 nfqs=88/nfqsng=0(88) fqlh=0 | 173 | c=-226 g=-226 s=1 jfq=-5701 j=72c7 nfqs=88/nfqsng=0(88) fqlh=0 |
174 | 0/1 .>. 0:127 ^0 | 174 | 0/1 ..>. 0:127 ^0 |
175 | 0/3 .>. 0:35 ^0 0/0 .>. 36:71 ^1 0/0 .>. 72:107 ^2 0/0 .>. 108:127 ^3 | 175 | 0/3 ..>. 0:35 ^0 0/0 ..>. 36:71 ^1 0/0 ..>. 72:107 ^2 0/0 ..>. 108:127 ^3 |
176 | 0/3f .>. 0:5 ^0 0/3 .>. 6:11 ^1 0/0 .>. 12:17 ^2 0/0 .>. 18:23 ^3 0/0 .>. 24:29 ^4 0/0 .>. 30:35 ^5 0/0 .>. 36:41 ^0 0/0 .>. 42:47 ^1 0/0 .>. 48:53 ^2 0/0 .>. 54:59 ^3 0/0 .>. 60:65 ^4 0/0 .>. 66:71 ^5 0/0 .>. 72:77 ^0 0/0 .>. 78:83 ^1 0/0 .>. 84:89 ^2 0/0 .>. 90:95 ^3 0/0 .>. 96:101 ^4 0/0 .>. 102:107 ^5 0/0 .>. 108:113 ^0 0/0 .>. 114:119 ^1 0/0 .>. 120:125 ^2 0/0 .>. 126:127 ^3 | 176 | 0/3f ..>. 0:5 ^0 0/3 ..>. 6:11 ^1 0/0 ..>. 12:17 ^2 0/0 ..>. 18:23 ^3 0/0 ..>. 24:29 ^4 0/0 ..>. 30:35 ^5 0/0 ..>. 36:41 ^0 0/0 ..>. 42:47 ^1 0/0 ..>. 48:53 ^2 0/0 ..>. 54:59 ^3 0/0 ..>. 60:65 ^4 0/0 ..>. 66:71 ^5 0/0 ..>. 72:77 ^0 0/0 ..>. 78:83 ^1 0/0 ..>. 84:89 ^2 0/0 ..>. 90:95 ^3 0/0 ..>. 96:101 ^4 0/0 ..>. 102:107 ^5 0/0 ..>. 108:113 ^0 0/0 ..>. 114:119 ^1 0/0 ..>. 120:125 ^2 0/0 ..>. 126:127 ^3 |
177 | 177 | ||
178 | This is once again split into "rcu_sched" and "rcu_bh" portions, | 178 | This is once again split into "rcu_sched" and "rcu_bh" portions, |
179 | and CONFIG_TREE_PREEMPT_RCU kernels will again have an additional | 179 | and CONFIG_TREE_PREEMPT_RCU kernels will again have an additional |
@@ -232,13 +232,20 @@ o Each element of the form "1/1 0:127 ^0" represents one struct | |||
232 | current grace period. | 232 | current grace period. |
233 | 233 | ||
234 | o The characters separated by the ">" indicate the state | 234 | o The characters separated by the ">" indicate the state |
235 | of the blocked-tasks lists. A "T" preceding the ">" | 235 | of the blocked-tasks lists. A "G" preceding the ">" |
236 | indicates that at least one task blocked in an RCU | 236 | indicates that at least one task blocked in an RCU |
237 | read-side critical section blocks the current grace | 237 | read-side critical section blocks the current grace |
238 | period, while a "." preceding the ">" indicates otherwise. | 238 | period, while a "E" preceding the ">" indicates that |
239 | The character following the ">" indicates similarly for | 239 | at least one task blocked in an RCU read-side critical |
240 | the next grace period. A "T" should appear in this | 240 | section blocks the current expedited grace period. |
241 | field only for rcu-preempt. | 241 | A "T" character following the ">" indicates that at |
242 | least one task is blocked within an RCU read-side | ||
243 | critical section, regardless of whether any current | ||
244 | grace period (expedited or normal) is inconvenienced. | ||
245 | A "." character appears if the corresponding condition | ||
246 | does not hold, so that "..>." indicates that no tasks | ||
247 | are blocked. In contrast, "GE>T" indicates maximal | ||
248 | inconvenience from blocked tasks. | ||
242 | 249 | ||
243 | o The numbers separated by the ":" are the range of CPUs | 250 | o The numbers separated by the ":" are the range of CPUs |
244 | served by this struct rcu_node. This can be helpful | 251 | served by this struct rcu_node. This can be helpful |