diff options
Diffstat (limited to 'Documentation/RCU/Design')
-rw-r--r-- | Documentation/RCU/Design/Requirements/Requirements.html | 13 |
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> </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> </td></tr> </table> |