diff options
author | Jiri Kosina <jkosina@suse.cz> | 2013-05-28 10:09:22 +0200 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2013-05-28 10:09:29 +0200 |
commit | 864bfb25b57a6766ea689befa5cf09a4353281ce (patch) | |
tree | 478941ca6e76b8d77b71f5827a3ce751c46a72b5 /Documentation/RCU/rcubarrier.txt | |
parent | 071361d3473ebb8142907470ff12d59c59f6be72 (diff) | |
parent | 49717cb40410fe4b563968680ff7c513967504c6 (diff) |
Merge branch 'master' into for-next
Merge with 49717cb ("kthread: Document ways of reducing OS jitter due
to per-CPU kthreads") to be able to apply fixup patch on top of it.
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'Documentation/RCU/rcubarrier.txt')
-rw-r--r-- | Documentation/RCU/rcubarrier.txt | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Documentation/RCU/rcubarrier.txt b/Documentation/RCU/rcubarrier.txt index 38428c125135..2e319d1b9ef2 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 |