diff options
author | Joel Fernandes (Google) <joel@joelfernandes.org> | 2018-06-24 15:34:51 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2018-08-29 11:54:30 -0400 |
commit | ea24c125fe79fd966a4f59768d3d70142a9eb18d (patch) | |
tree | 4f0b51423d81013796d0ef18a5afdedce5e09d3e /Documentation/RCU/Design/Data-Structures/Data-Structures.html | |
parent | a5a2889544997d3909480d6d27e2559875226532 (diff) |
doc: Improve rcu_dynticks::dynticks documentation
The very useful RCU Data-Structures describes that the dynticks counter
of the rcu_dynticks data structure is incremented when we transitions to
or from dynticks-idle mode. However it doesn't mention that it is also
incremented due to transitions to and from user mode which for dynticks
purposes is an extended quiescent state.
I found this with tracing calls to rcu_dynticks_eqs_enter which can also
happen from rcu_user_enter. Lets add this information to the
Data-Structures document.
Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'Documentation/RCU/Design/Data-Structures/Data-Structures.html')
-rw-r--r-- | Documentation/RCU/Design/Data-Structures/Data-Structures.html | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Documentation/RCU/Design/Data-Structures/Data-Structures.html b/Documentation/RCU/Design/Data-Structures/Data-Structures.html index f5120a00f511..50be87e59937 100644 --- a/Documentation/RCU/Design/Data-Structures/Data-Structures.html +++ b/Documentation/RCU/Design/Data-Structures/Data-Structures.html | |||
@@ -1227,9 +1227,11 @@ to overflow the counter, this approach corrects the | |||
1227 | CPU enters the idle loop from process context. | 1227 | CPU enters the idle loop from process context. |
1228 | 1228 | ||
1229 | </p><p>The <tt>->dynticks</tt> field counts the corresponding | 1229 | </p><p>The <tt>->dynticks</tt> field counts the corresponding |
1230 | CPU's transitions to and from dyntick-idle mode, so that this counter | 1230 | CPU's transitions to and from either dyntick-idle or user mode, so |
1231 | has an even value when the CPU is in dyntick-idle mode and an odd | 1231 | that this counter has an even value when the CPU is in dyntick-idle |
1232 | value otherwise. | 1232 | mode or user mode and an odd value otherwise. The transitions to/from |
1233 | user mode need to be counted for user mode adaptive-ticks support | ||
1234 | (see timers/NO_HZ.txt). | ||
1233 | 1235 | ||
1234 | </p><p>The <tt>->rcu_need_heavy_qs</tt> field is used | 1236 | </p><p>The <tt>->rcu_need_heavy_qs</tt> field is used |
1235 | to record the fact that the RCU core code would really like to | 1237 | to record the fact that the RCU core code would really like to |