public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <jens.axboe@oracle.com>
To: linux-kernel@vger.kernel.org
Cc: Nick Piggin <nickpiggin@yahoo.com.au>, akpm@osdl.org
Subject: [PATCH] 3/4 qrcu: add documentation
Date: Wed, 3 Jan 2007 09:31:23 +0100	[thread overview]
Message-ID: <20070103083123.GJ11203@kernel.dk> (raw)
In-Reply-To: <11678105083001-git-send-email-jens.axboe@oracle.com>


Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Jens Axboe <jens.axboe@oracle.com>
---
 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


  parent reply	other threads:[~2007-01-03  8:28 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-03  7:48 [BLOCK] 0/4 explicit io plugging Jens Axboe
2007-01-03  7:48 ` [PATCH] 1/4 qrcu: "quick" srcu implementation Jens Axboe
2007-01-03  7:48 ` [PATCH] 2/4 qrcu: add rcutorture test Jens Axboe
     [not found] ` <1167810508576-git-send-email-jens.axboe@oracle.com>
2007-01-03  8:09   ` [PATCH] 4/4 block: explicit plugging Andrew Morton
2007-01-03  8:22     ` Jens Axboe
2007-01-03 21:50       ` Chen, Kenneth W
2007-01-03 22:29         ` Jens Axboe
2007-01-03 22:34           ` Chen, Kenneth W
2007-01-04 14:39             ` Jens Axboe
2007-01-05 22:04               ` Chen, Kenneth W
2007-01-04  4:35   ` Nick Piggin
2007-01-05  7:23     ` Jens Axboe
2007-01-03  8:31 ` Jens Axboe [this message]
2007-01-03  9:29   ` [PATCH] 3/4 qrcu: add documentation Tomas Carnecky
2007-01-03  9:39     ` Jens Axboe
2007-01-03  9:41 ` [PATCH] 4/4 block: explicit plugging Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070103083123.GJ11203@kernel.dk \
    --to=jens.axboe@oracle.com \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox