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().
87 must match the flavor of rcu_barrier() with that of call_rcu(). If your
89 flavors of rcu_barrier() when unloading that module. For example, if
94 1 rcu_barrier();
98 The rcutorture module makes use of rcu_barrier() in its exit function
153 53 rcu_barrier();
173 RCU callbacks will be posted. The rcu_barrier() call on line 53 waits
179 Quick Quiz #1: Is there any other situation where rcu_barrier() might
184 the timers, and only then invoke rcu_barrier() to wait for any remaining
188 rcu_barrier() before unloading. Similarly, if your module uses
191 -and- call_srcu(), then you will need to invoke rcu_barrier() -and-
195 Implementing rcu_barrier()
197 Dipankar Sarma's implementation of rcu_barrier() makes use of the fact
203 The original code for rcu_barrier() was as follows:
205 1 void rcu_barrier(void)
218 use rcu_barrier_mutex to ensure that only one rcu_barrier() is using the
263 rcu_barrier() returning prematurely?
265 The current rcu_barrier() implementation is more complex, due to the need
271 rcu_barrier() Summary
273 The rcu_barrier() primitive has seen relatively little use, since most
275 you are using RCU from an unloadable module, you need to use rcu_barrier()
281 Quick Quiz #1: Is there any other situation where rcu_barrier() might
284 Answer: Interestingly enough, rcu_barrier() was not originally
287 filesystem-unmount time. Dipankar Sarma coded up rcu_barrier()
292 implementing rcutorture, and found that rcu_barrier() solves
299 rcu_barrier() returning prematurely?
323 is to add an rcu_read_lock() before line 8 of rcu_barrier()