Signed-off-by: Paul E. McKenney <[EMAIL PROTECTED]>
Acked-by: Jens Axboe <[EMAIL PROTECTED]>
---
 Documentation/RCU/checklist.txt |   13 +++++++++++++
 Documentation/RCU/rcu.txt       |    6 ++++--
 Documentation/RCU/torture.txt   |   15 +++++++++------
 Documentation/RCU/whatisRCU.txt |    3 +++
 4 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/Documentation/RCU/checklist.txt b/Documentation/RCU/checklist.txt
index f4dffad..36d6185 100644
--- a/Documentation/RCU/checklist.txt
+++ b/Documentation/RCU/checklist.txt
@@ -259,3 +259,16 @@ over a rather long period of time, but improvements are 
always welcome!
 
        Note that, rcu_assign_pointer() and rcu_dereference() relate to
        SRCU just as they do to other forms of RCU.
+
+14.    QRCU is very similar to SRCU, but features very fast grace-period
+       processing at the expense of heavier-weight read-side operations.
+       The correspondance between QRCU and SRCU is as follows:
+
+               QRCU                    SRCU
+
+               struct qrcu_struct      struct srcu_struct
+               init_qrcu_struct()      init_srcu_struct()
+               cleanup_qrcu_struct()   cleanup_srcu_struct()
+               qrcu_read_lock()        srcu_read_lock()
+               qrcu_read-unlock()      srcu_read_unlock()
+               synchronize_qrcu()      synchronize_srcu()
diff --git a/Documentation/RCU/rcu.txt b/Documentation/RCU/rcu.txt
index f84407c..ae1e54e 100644
--- a/Documentation/RCU/rcu.txt
+++ b/Documentation/RCU/rcu.txt
@@ -45,8 +45,10 @@ o    How can I see where RCU is currently used in the Linux 
kernel?
 
        Search for "rcu_read_lock", "rcu_read_unlock", "call_rcu",
        "rcu_read_lock_bh", "rcu_read_unlock_bh", "call_rcu_bh",
-       "srcu_read_lock", "srcu_read_unlock", "synchronize_rcu",
-       "synchronize_net", and "synchronize_srcu".
+       "qrcu_read_lock", qrcu_read_unlock", "srcu_read_lock",
+       "srcu_read_unlock", "synchronize_rcu", "synchronize_qrcu",
+       "synchronize_net", "synchronize_srcu", rcu_assign_pointer(),
+       and rcu_dereference().
 
 o      What guidelines should I follow when writing code that uses RCU?
 
diff --git a/Documentation/RCU/torture.txt b/Documentation/RCU/torture.txt
index 25a3c3f..2cb0a3b 100644
--- a/Documentation/RCU/torture.txt
+++ b/Documentation/RCU/torture.txt
@@ -35,7 +35,8 @@ nfakewriters  This is the number of RCU fake writer threads 
to run.  Fake
                different numbers of writers running in parallel.
                nfakewriters defaults to 4, which provides enough parallelism
                to trigger special cases caused by multiple writers, such as
-               the synchronize_srcu() early return optimization.
+               the synchronize_srcu() and synchronize_qrcu() early return
+               optimizations.
 
 stat_interval  The number of seconds between output of torture
                statistics (via printk()).  Regardless of the interval,
@@ -54,11 +55,13 @@ test_no_idle_hz     Whether or not to test the ability of 
RCU to operate in
                idle CPUs.  Boolean parameter, "1" to test, "0" otherwise.
 
 torture_type   The type of RCU to test: "rcu" for the rcu_read_lock() API,
-               "rcu_sync" for rcu_read_lock() with synchronous reclamation,
-               "rcu_bh" for the rcu_read_lock_bh() API, "rcu_bh_sync" for
-               rcu_read_lock_bh() with synchronous reclamation, "srcu" for
-               the "srcu_read_lock()" API, and "sched" for the use of
-               preempt_disable() together with synchronize_sched().
+               "rcu_sync" for rcu_read_lock() with synchronous
+               reclamation, "rcu_bh" for the rcu_read_lock_bh() API,
+               "rcu_bh_sync" for rcu_read_lock_bh() with synchronous
+               reclamation, "srcu" for the "srcu_read_lock()" API,
+               "qrcu" for the "qrcu_read_lock()" "quick grace period"
+               form of SRCU, and "sched" for the use of preempt_disable()
+               together with synchronize_sched().
 
 verbose                Enable debug printk()s.  Default is disabled.
 
diff --git a/Documentation/RCU/whatisRCU.txt b/Documentation/RCU/whatisRCU.txt
index e0d6d99..e91650b 100644
--- a/Documentation/RCU/whatisRCU.txt
+++ b/Documentation/RCU/whatisRCU.txt
@@ -780,6 +780,8 @@ Markers for RCU read-side critical sections:
        rcu_read_unlock_bh
        srcu_read_lock
        srcu_read_unlock
+       qrcu_read_lock
+       qrcu_read_unlock
 
 RCU pointer/list traversal:
 
@@ -807,6 +809,7 @@ RCU grace period:
        synchronize_sched
        synchronize_rcu
        synchronize_srcu
+       synchronize_qrcu
        call_rcu
        call_rcu_bh
 
-- 
1.4.4.2.g02c9

-- 
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to