aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/RCU/Design/Requirements/Requirements.html
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-10-07 15:43:31 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-12-05 12:33:11 -0800
commit0825458b1dbc39ec6840ee2e45b1fedb1b4b4ca1 (patch)
treeaff096c6b091577d0bf8eb0a0ab3efb6390ad152 /Documentation/RCU/Design/Requirements/Requirements.html
parentdocumentation: Cover requirements controlling stall warnings (diff)
downloadlinux-dev-0825458b1dbc39ec6840ee2e45b1fedb1b4b4ca1.tar.xz
linux-dev-0825458b1dbc39ec6840ee2e45b1fedb1b4b4ca1.zip
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/Design/Requirements/Requirements.html')
-rw-r--r--Documentation/RCU/Design/Requirements/Requirements.html8
1 files changed, 8 insertions, 0 deletions
diff --git a/Documentation/RCU/Design/Requirements/Requirements.html b/Documentation/RCU/Design/Requirements/Requirements.html
index cc5b587c0ec5..105247149975 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.