summaryrefslogtreecommitdiffstats
path: root/Documentation/RCU/Design
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2016-03-15 13:40:28 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2016-03-31 13:33:23 -0700
commit5413e24c943da33306047fc091fa34fa4f261b3b (patch)
tree01abef5d3bf87b50b20bc581fb89bf955bfeed67 /Documentation/RCU/Design
parent6146f8df48cb52c46c256424bd03b567b889b7bb (diff)
downloadlinux-5413e24c943da33306047fc091fa34fa4f261b3b.tar.bz2
documentation: Sharpen up the no-readers quick quiz
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'Documentation/RCU/Design')
-rw-r--r--Documentation/RCU/Design/Requirements/Requirements.html13
1 files changed, 8 insertions, 5 deletions
diff --git a/Documentation/RCU/Design/Requirements/Requirements.html b/Documentation/RCU/Design/Requirements/Requirements.html
index acdad96f78e9..85cf2238fd08 100644
--- a/Documentation/RCU/Design/Requirements/Requirements.html
+++ b/Documentation/RCU/Design/Requirements/Requirements.html
@@ -1002,18 +1002,21 @@ obligation to wait for these new readers.
<tr><th>&nbsp;</th></tr>
<tr><th align="left">Quick Quiz:</th></tr>
<tr><td>
- Suppose that synchronize_rcu() did wait until all readers had completed.
- Would the updater be able to rely on this?
+ Suppose that synchronize_rcu() did wait until <i>all</i>
+ readers had completed instead of waiting only on
+ pre-existing readers.
+ For how long would the updater be able to rely on there
+ being no readers?
</td></tr>
<tr><th align="left">Answer:</th></tr>
<tr><td bgcolor="#ffffff"><font color="ffffff">
- No.
+ For no time at all.
Even if <tt>synchronize_rcu()</tt> were to wait until
all readers had completed, a new reader might start immediately after
<tt>synchronize_rcu()</tt> completed.
Therefore, the code following
- <tt>synchronize_rcu()</tt> cannot rely on there being no readers
- in any case.
+ <tt>synchronize_rcu()</tt> can <i>never</i> rely on there being
+ no readers.
</font></td></tr>
<tr><td>&nbsp;</td></tr>
</table>