summaryrefslogtreecommitdiff
path: root/Documentation/RCU/whatisRCU.txt
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-03-29 05:57:45 +0300
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-04-12 18:23:43 +0300
commitd3d3a3ccc4a8f1f254fb6788081f35bebe374174 (patch)
treed5da6f64b71d990aeefae5649197db2eea8494c4 /Documentation/RCU/whatisRCU.txt
parent93728af0a1f63e13d6f7f56a434965b05b8b2abd (diff)
downloadlinux-d3d3a3ccc4a8f1f254fb6788081f35bebe374174.tar.xz
doc: Emphasize that "toy" RCU requires recursive rwlock
Reported-by: "yangzc@uit.com.cn" <yangzc@uit.com.cn> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'Documentation/RCU/whatisRCU.txt')
-rw-r--r--Documentation/RCU/whatisRCU.txt4
1 files changed, 3 insertions, 1 deletions
diff --git a/Documentation/RCU/whatisRCU.txt b/Documentation/RCU/whatisRCU.txt
index 6b0337008f9c..8c131a1c62ea 100644
--- a/Documentation/RCU/whatisRCU.txt
+++ b/Documentation/RCU/whatisRCU.txt
@@ -562,7 +562,9 @@ This section presents a "toy" RCU implementation that is based on
familiar locking primitives. Its overhead makes it a non-starter for
real-life use, as does its lack of scalability. It is also unsuitable
for realtime use, since it allows scheduling latency to "bleed" from
-one read-side critical section to another.
+one read-side critical section to another. It also assumes recursive
+reader-writer locks: If you try this with non-recursive locks, and
+you allow nested rcu_read_lock() calls, you can deadlock.
However, it is probably the easiest implementation to relate to, so is
a good starting point.