From: Paul E. McKenney Date: Wed, 29 Mar 2017 02:57:45 +0000 (-0700) Subject: doc: Emphasize that "toy" RCU requires recursive rwlock X-Git-Tag: v4.12-rc1~38^2~5^2~2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d3d3a3ccc4a8f1f254fb6788081f35bebe374174;p=karo-tx-linux.git doc: Emphasize that "toy" RCU requires recursive rwlock Reported-by: "yangzc@uit.com.cn" Signed-off-by: Paul E. McKenney --- 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.