public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC] doc: Improve rcu_dynticks::dynticks documentation
@ 2018-06-24 19:34 Joel Fernandes
  2018-06-25  4:08 ` Paul E. McKenney
  0 siblings, 1 reply; 2+ messages in thread
From: Joel Fernandes @ 2018-06-24 19:34 UTC (permalink / raw)
  To: linux-kernel
  Cc: Joel Fernandes (Google), Jonathan Corbet, Josh Triplett,
	Lai Jiangshan, linux-doc, Mathieu Desnoyers, Paul E. McKenney,
	Steven Rostedt, byungchul.park

From: "Joel Fernandes (Google)" <joel@joelfernandes.org>

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>
---
 .../RCU/Design/Data-Structures/Data-Structures.html       | 8 +++++---
 1 file 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
 CPU enters the idle loop from process context.
 
 </p><p>The <tt>-&gt;dynticks</tt> field counts the corresponding
-CPU's transitions to and from dyntick-idle mode, so that this counter
-has an even value when the CPU is in dyntick-idle mode and an odd
-value otherwise.
+CPU's transitions to and from either dyntick-idle or user mode, so
+that this counter has an even value when the CPU is in dyntick-idle
+mode or user mode and an odd value otherwise. The transitions to/from
+user mode need to be counted for user mode adaptive-ticks support
+(see timers/NO_HZ.txt).
 
 </p><p>The <tt>-&gt;rcu_need_heavy_qs</tt> field is used
 to record the fact that the RCU core code would really like to
-- 
2.18.0.rc2.346.g013aa6912e-goog


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [RFC] doc: Improve rcu_dynticks::dynticks documentation
  2018-06-24 19:34 [RFC] doc: Improve rcu_dynticks::dynticks documentation Joel Fernandes
@ 2018-06-25  4:08 ` Paul E. McKenney
  0 siblings, 0 replies; 2+ messages in thread
From: Paul E. McKenney @ 2018-06-25  4:08 UTC (permalink / raw)
  To: Joel Fernandes
  Cc: linux-kernel, Jonathan Corbet, Josh Triplett, Lai Jiangshan,
	linux-doc, Mathieu Desnoyers, Steven Rostedt, byungchul.park

On Sun, Jun 24, 2018 at 12:34:51PM -0700, Joel Fernandes wrote:
> From: "Joel Fernandes (Google)" <joel@joelfernandes.org>
> 
> 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>

Good addition, queued, thank you!

							Thanx, Paul

> ---
>  .../RCU/Design/Data-Structures/Data-Structures.html       | 8 +++++---
>  1 file 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
>  CPU enters the idle loop from process context.
> 
>  </p><p>The <tt>-&gt;dynticks</tt> field counts the corresponding
> -CPU's transitions to and from dyntick-idle mode, so that this counter
> -has an even value when the CPU is in dyntick-idle mode and an odd
> -value otherwise.
> +CPU's transitions to and from either dyntick-idle or user mode, so
> +that this counter has an even value when the CPU is in dyntick-idle
> +mode or user mode and an odd value otherwise. The transitions to/from
> +user mode need to be counted for user mode adaptive-ticks support
> +(see timers/NO_HZ.txt).
> 
>  </p><p>The <tt>-&gt;rcu_need_heavy_qs</tt> field is used
>  to record the fact that the RCU core code would really like to
> -- 
> 2.18.0.rc2.346.g013aa6912e-goog
> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-06-25  4:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-24 19:34 [RFC] doc: Improve rcu_dynticks::dynticks documentation Joel Fernandes
2018-06-25  4:08 ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox