Lines Matching refs:rcu_barrier

71 rcu_barrier()
73 We instead need the rcu_barrier() primitive. Rather than waiting for
74 a grace period to elapse, rcu_barrier() waits for all outstanding RCU
75 callbacks to complete. Please note that rcu_barrier() does -not- imply
77 anywhere, rcu_barrier() is within its rights to return immediately,
80 Pseudo-code using rcu_barrier() is as follows:
83 2. Execute rcu_barrier().
88 the flavor of rcu_barrier() with that of call_rcu(). If your module
90 flavors of rcu_barrier() when unloading that module. For example, if
99 The rcutorture module makes use of rcu_barrier() in its exit function
154 53 rcu_barrier();
174 RCU callbacks will be posted. The rcu_barrier() call on line 53 waits
180 Quick Quiz #1: Is there any other situation where rcu_barrier() might
185 the timers, and only then invoke rcu_barrier() to wait for any remaining
192 call_rcu_sched(), then you will need to invoke each of rcu_barrier(),
196 Implementing rcu_barrier()
198 Dipankar Sarma's implementation of rcu_barrier() makes use of the fact
204 The original code for rcu_barrier() was as follows:
206 1 void rcu_barrier(void)
219 use rcu_barrier_mutex to ensure that only one rcu_barrier() is using the
227 rcu_barrier_sched() in addition to the original rcu_barrier().
264 rcu_barrier() returning prematurely?
267 rcu_barrier() Summary
269 The rcu_barrier() primitive has seen relatively little use, since most
271 you are using RCU from an unloadable module, you need to use rcu_barrier()
277 Quick Quiz #1: Is there any other situation where rcu_barrier() might
280 Answer: Interestingly enough, rcu_barrier() was not originally
283 filesystem-unmount time. Dipankar Sarma coded up rcu_barrier()
288 implementing rcutorture, and found that rcu_barrier() solves
295 rcu_barrier() returning prematurely?
319 is to add an rcu_read_lock() before line 8 of rcu_barrier()