aboutsummaryrefslogtreecommitdiff
path: root/Documentation/RCU/rcubarrier.txt
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-03-04 17:55:49 -0800
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-03-12 14:09:02 -0700
commit3f944adb9d1ca912902783e7aede2a5b5c19a605 (patch)
tree2ab5039926992d2497f7ba626f2e10c3666ca351 /Documentation/RCU/rcubarrier.txt
parent4357fb570b3709c145384065d04b698a30dc722e (diff)
rcu: Documentation update
This commit applies a few updates based on a quick review of the RCU documentations. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'Documentation/RCU/rcubarrier.txt')
-rw-r--r--Documentation/RCU/rcubarrier.txt15
1 files changed, 14 insertions, 1 deletions
diff --git a/Documentation/RCU/rcubarrier.txt b/Documentation/RCU/rcubarrier.txt
index 38428c12513..2e319d1b9ef 100644
--- a/Documentation/RCU/rcubarrier.txt
+++ b/Documentation/RCU/rcubarrier.txt
@@ -79,7 +79,20 @@ complete. Pseudo-code using rcu_barrier() is as follows:
2. Execute rcu_barrier().
3. Allow the module to be unloaded.
-The rcutorture module makes use of rcu_barrier in its exit function
+There are also rcu_barrier_bh(), rcu_barrier_sched(), and srcu_barrier()
+functions for the other flavors of RCU, and you of course must match
+the flavor of rcu_barrier() with that of call_rcu(). If your module
+uses multiple flavors of call_rcu(), then it must also use multiple
+flavors of rcu_barrier() when unloading that module. For example, if
+it uses call_rcu_bh(), call_srcu() on srcu_struct_1, and call_srcu() on
+srcu_struct_2(), then the following three lines of code will be required
+when unloading:
+
+ 1 rcu_barrier_bh();
+ 2 srcu_barrier(&srcu_struct_1);
+ 3 srcu_barrier(&srcu_struct_2);
+
+The rcutorture module makes use of rcu_barrier() in its exit function
as follows:
1 static void