diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-10-07 22:43:31 (GMT) |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-12-05 20:33:11 (GMT) |
commit | 0825458b1dbc39ec6840ee2e45b1fedb1b4b4ca1 (patch) | |
tree | aff096c6b091577d0bf8eb0a0ab3efb6390ad152 /Documentation/RCU | |
parent | 01d3ad3834891f19a2620a105415feac93296eeb (diff) | |
download | linux-0825458b1dbc39ec6840ee2e45b1fedb1b4b4ca1.tar.xz |
documentation: Composability analogies
This commit expands on RCU's composability by comparing it to that of
transactional memory and of locking.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'Documentation/RCU')
-rw-r--r-- | Documentation/RCU/Design/Requirements/Requirements.html | 8 | ||||
-rw-r--r-- | Documentation/RCU/Design/Requirements/Requirements.htmlx | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/Documentation/RCU/Design/Requirements/Requirements.html b/Documentation/RCU/Design/Requirements/Requirements.html index cc5b587..1052471 100644 --- a/Documentation/RCU/Design/Requirements/Requirements.html +++ b/Documentation/RCU/Design/Requirements/Requirements.html @@ -1495,6 +1495,14 @@ section, neither of which is conducive to a long-lived and prosperous kernel. <p> +It is worth noting that RCU is not alone in limiting composability. +For example, many transactional-memory implementations prohibit +composing a pair of transactions separated by an irrevocable +operation (for example, a network receive operation). +For another example, lock-based critical sections can be composed +surprisingly freely, but only if deadlock is avoided. + +<p> In short, although RCU read-side critical sections are highly composable, care is required in some situations, just as is the case for any other composable synchronization mechanism. diff --git a/Documentation/RCU/Design/Requirements/Requirements.htmlx b/Documentation/RCU/Design/Requirements/Requirements.htmlx index 23524d7..5b76e21 100644 --- a/Documentation/RCU/Design/Requirements/Requirements.htmlx +++ b/Documentation/RCU/Design/Requirements/Requirements.htmlx @@ -1654,6 +1654,14 @@ section, neither of which is conducive to a long-lived and prosperous kernel. <p> +It is worth noting that RCU is not alone in limiting composability. +For example, many transactional-memory implementations prohibit +composing a pair of transactions separated by an irrevocable +operation (for example, a network receive operation). +For another example, lock-based critical sections can be composed +surprisingly freely, but only if deadlock is avoided. + +<p> In short, although RCU read-side critical sections are highly composable, care is required in some situations, just as is the case for any other composable synchronization mechanism. |