linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH tip/core/rcu 0/4] Documentation updates for 4.8
@ 2016-06-15 21:38 Paul E. McKenney
  2016-06-15 21:39 ` [PATCH tip/core/rcu 1/4] documentation: Add reference to 2014 RCU API LWN article Paul E. McKenney
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Paul E. McKenney @ 2016-06-15 21:38 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, jiangshanlai, dipankar, akpm, mathieu.desnoyers, josh,
	tglx, peterz, rostedt, dhowells, edumazet, dvhart, fweisbec,
	oleg, bobby.prani

Hello!

This series provides a few minor documentation updates for RCU:

1.	Add reference to the 2014 RCU API LWN article.

2.	Add references to 2010 and 2014 Big API Tables.

3.	Add RCU_NONIDLE() restrictions to requirements.

4.	Fix a typo, courtesy of Eric Engestrom.

I am still harboring fantasies of getting another block of the RCU design
documentation done in time for the merge window, but it is currently
not yet even ready for review.

							Thanx, Paul

------------------------------------------------------------------------

 Design/Requirements/Requirements.html |   35 ++++++++++++++++++++++++++++++++++
 stallwarn.txt                         |    2 -
 whatisRCU.txt                         |    3 ++
 3 files changed, 39 insertions(+), 1 deletion(-)

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

* [PATCH tip/core/rcu 1/4] documentation: Add reference to 2014 RCU API LWN article
  2016-06-15 21:38 [PATCH tip/core/rcu 0/4] Documentation updates for 4.8 Paul E. McKenney
@ 2016-06-15 21:39 ` Paul E. McKenney
  2016-06-15 21:39 ` [PATCH tip/core/rcu 2/4] documentation: Add references to 2010 and 2014 Big API Tables Paul E. McKenney
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Paul E. McKenney @ 2016-06-15 21:39 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, jiangshanlai, dipankar, akpm, mathieu.desnoyers, josh,
	tglx, peterz, rostedt, dhowells, edumazet, dvhart, fweisbec,
	oleg, bobby.prani, Paul E. McKenney

Reported-by: Jim Roskind <jar@roskind.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 Documentation/RCU/whatisRCU.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/RCU/whatisRCU.txt b/Documentation/RCU/whatisRCU.txt
index 111770ffa10e..13266cff42ff 100644
--- a/Documentation/RCU/whatisRCU.txt
+++ b/Documentation/RCU/whatisRCU.txt
@@ -5,6 +5,7 @@ to start learning about RCU:
 2.	What is RCU? Part 2: Usage   http://lwn.net/Articles/263130/
 3.	RCU part 3: the RCU API      http://lwn.net/Articles/264090/
 4.	The RCU API, 2010 Edition    http://lwn.net/Articles/418853/
+5.	The RCU API, 2014 Edition    http://lwn.net/Articles/609904/
 
 
 What is RCU?
-- 
2.5.2

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

* [PATCH tip/core/rcu 2/4] documentation: Add references to 2010 and 2014 Big API Tables
  2016-06-15 21:38 [PATCH tip/core/rcu 0/4] Documentation updates for 4.8 Paul E. McKenney
  2016-06-15 21:39 ` [PATCH tip/core/rcu 1/4] documentation: Add reference to 2014 RCU API LWN article Paul E. McKenney
@ 2016-06-15 21:39 ` Paul E. McKenney
  2016-06-15 21:39 ` [PATCH tip/core/rcu 3/4] documentation: Add RCU_NONIDLE() restrictions to requirements Paul E. McKenney
  2016-06-15 21:39 ` [PATCH tip/core/rcu 4/4] Documentation: Fix spelling mistake Paul E. McKenney
  3 siblings, 0 replies; 5+ messages in thread
From: Paul E. McKenney @ 2016-06-15 21:39 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, jiangshanlai, dipankar, akpm, mathieu.desnoyers, josh,
	tglx, peterz, rostedt, dhowells, edumazet, dvhart, fweisbec,
	oleg, bobby.prani, Paul E. McKenney

Reported-by: Jim Roskind <jar@roskind.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 Documentation/RCU/whatisRCU.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/RCU/whatisRCU.txt b/Documentation/RCU/whatisRCU.txt
index 13266cff42ff..204422719197 100644
--- a/Documentation/RCU/whatisRCU.txt
+++ b/Documentation/RCU/whatisRCU.txt
@@ -5,7 +5,9 @@ to start learning about RCU:
 2.	What is RCU? Part 2: Usage   http://lwn.net/Articles/263130/
 3.	RCU part 3: the RCU API      http://lwn.net/Articles/264090/
 4.	The RCU API, 2010 Edition    http://lwn.net/Articles/418853/
+	2010 Big API Table           http://lwn.net/Articles/419086/
 5.	The RCU API, 2014 Edition    http://lwn.net/Articles/609904/
+	2014 Big API Table           http://lwn.net/Articles/609973/
 
 
 What is RCU?
-- 
2.5.2

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

* [PATCH tip/core/rcu 3/4] documentation: Add RCU_NONIDLE() restrictions to requirements
  2016-06-15 21:38 [PATCH tip/core/rcu 0/4] Documentation updates for 4.8 Paul E. McKenney
  2016-06-15 21:39 ` [PATCH tip/core/rcu 1/4] documentation: Add reference to 2014 RCU API LWN article Paul E. McKenney
  2016-06-15 21:39 ` [PATCH tip/core/rcu 2/4] documentation: Add references to 2010 and 2014 Big API Tables Paul E. McKenney
@ 2016-06-15 21:39 ` Paul E. McKenney
  2016-06-15 21:39 ` [PATCH tip/core/rcu 4/4] Documentation: Fix spelling mistake Paul E. McKenney
  3 siblings, 0 replies; 5+ messages in thread
From: Paul E. McKenney @ 2016-06-15 21:39 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, jiangshanlai, dipankar, akpm, mathieu.desnoyers, josh,
	tglx, peterz, rostedt, dhowells, edumazet, dvhart, fweisbec,
	oleg, bobby.prani, Paul E. McKenney

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 .../RCU/Design/Requirements/Requirements.html      | 35 ++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/Documentation/RCU/Design/Requirements/Requirements.html b/Documentation/RCU/Design/Requirements/Requirements.html
index e7e24b3e86e2..ece410f40436 100644
--- a/Documentation/RCU/Design/Requirements/Requirements.html
+++ b/Documentation/RCU/Design/Requirements/Requirements.html
@@ -2391,6 +2391,41 @@ and <tt>RCU_NONIDLE()</tt> on the other while inspecting
 idle-loop code.
 Steven Rostedt supplied <tt>_rcuidle</tt> event tracing,
 which is used quite heavily in the idle loop.
+However, there are some restrictions on the code placed within
+<tt>RCU_NONIDLE()</tt>:
+
+<ol>
+<li>	Blocking is prohibited.
+	In practice, this is not a serious restriction given that idle
+	tasks are prohibited from blocking to begin with.
+<li>	Although nesting <tt>RCU_NONIDLE()</tt> is permited, they cannot
+	nest indefinitely deeply.
+	However, given that they can be nested on the order of a million
+	deep, even on 32-bit systems, this should not be a serious
+	restriction.
+	This nesting limit would probably be reached long after the
+	compiler OOMed or the stack overflowed.
+<li>	Any code path that enters <tt>RCU_NONIDLE()</tt> must sequence
+	out of that same <tt>RCU_NONIDLE()</tt>.
+	For example, the following is grossly illegal:
+
+	<blockquote>
+	<pre>
+ 1     RCU_NONIDLE({
+ 2       do_something();
+ 3       goto bad_idea;  /* BUG!!! */
+ 4       do_something_else();});
+ 5   bad_idea:
+	</pre>
+	</blockquote>
+
+	<p>
+	It is just as illegal to transfer control into the middle of
+	<tt>RCU_NONIDLE()</tt>'s argument.
+	Yes, in theory, you could transfer in as long as you also
+	transferred out, but in practice you could also expect to get sharply
+	worded review comments.
+</ol>
 
 <p>
 It is similarly socially unacceptable to interrupt an
-- 
2.5.2

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

* [PATCH tip/core/rcu 4/4] Documentation: Fix spelling mistake
  2016-06-15 21:38 [PATCH tip/core/rcu 0/4] Documentation updates for 4.8 Paul E. McKenney
                   ` (2 preceding siblings ...)
  2016-06-15 21:39 ` [PATCH tip/core/rcu 3/4] documentation: Add RCU_NONIDLE() restrictions to requirements Paul E. McKenney
@ 2016-06-15 21:39 ` Paul E. McKenney
  3 siblings, 0 replies; 5+ messages in thread
From: Paul E. McKenney @ 2016-06-15 21:39 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, jiangshanlai, dipankar, akpm, mathieu.desnoyers, josh,
	tglx, peterz, rostedt, dhowells, edumazet, dvhart, fweisbec,
	oleg, bobby.prani, Eric Engestrom, Paul E. McKenney

From: Eric Engestrom <eric@engestrom.ch>

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
 Documentation/RCU/stallwarn.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/RCU/stallwarn.txt b/Documentation/RCU/stallwarn.txt
index 0f7fb4298e7e..e93d04133fe7 100644
--- a/Documentation/RCU/stallwarn.txt
+++ b/Documentation/RCU/stallwarn.txt
@@ -49,7 +49,7 @@ rcupdate.rcu_task_stall_timeout
 	This boot/sysfs parameter controls the RCU-tasks stall warning
 	interval.  A value of zero or less suppresses RCU-tasks stall
 	warnings.  A positive value sets the stall-warning interval
-	in jiffies.  An RCU-tasks stall warning starts wtih the line:
+	in jiffies.  An RCU-tasks stall warning starts with the line:
 
 		INFO: rcu_tasks detected stalls on tasks:
 
-- 
2.5.2

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

end of thread, other threads:[~2016-06-15 21:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-15 21:38 [PATCH tip/core/rcu 0/4] Documentation updates for 4.8 Paul E. McKenney
2016-06-15 21:39 ` [PATCH tip/core/rcu 1/4] documentation: Add reference to 2014 RCU API LWN article Paul E. McKenney
2016-06-15 21:39 ` [PATCH tip/core/rcu 2/4] documentation: Add references to 2010 and 2014 Big API Tables Paul E. McKenney
2016-06-15 21:39 ` [PATCH tip/core/rcu 3/4] documentation: Add RCU_NONIDLE() restrictions to requirements Paul E. McKenney
2016-06-15 21:39 ` [PATCH tip/core/rcu 4/4] Documentation: Fix spelling mistake 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;
as well as URLs for NNTP newsgroup(s).