Lines Matching full:rcu
3 RCU and Unloadable Modules
8 RCU updaters sometimes use call_rcu() to initiate an asynchronous wait for
10 struct placed within the RCU-protected data structure and another pointer
16 call_rcu(&p->rcu, p_callback);
23 struct pstruct *p = container_of(rp, struct pstruct, rcu);
34 If we unload the module while some RCU callbacks are pending,
37 http://lwn.net/images/ns/kernel/rcu-drop.jpg.
45 heavy RCU-callback load, then some of the callbacks might be deferred in
56 outstanding RCU callbacks to complete. Please note that rcu_barrier()
57 does **not** imply synchronize_rcu(), in particular, if there are no RCU
63 1. Prevent any new RCU callbacks from being posted.
136 52 /* Wait for all RCU callbacks to fire. */
149 Line 6 sets a global variable that prevents any RCU callbacks from
151 RCU callbacks rarely include calls to call_rcu(). However, the rcutorture
157 RCU callbacks will be posted. The rcu_barrier() call on line 53 waits
175 RCU callbacks to complete.
189 that RCU callbacks are never reordered once queued on one of the per-CPU
190 queues. His implementation queues an RCU callback on each of the per-CPU
192 which point, all earlier RCU callbacks are guaranteed to have completed.
233 to post an RCU callback, as follows::
246 Lines 3 and 4 locate RCU's internal per-CPU rcu_data structure,
285 code using RCU is in the core kernel rather than in modules. However, if
286 you are using RCU from an unloadable module, you need to use rcu_barrier()
302 RCU in a filesystem, which resulted in a similar situation at
307 Much later, yours truly hit the RCU module-unload problem when
330 disables preemption, which acted as an RCU read-side critical
333 with the advent of preemptible RCU, rcu_barrier() no longer
337 However, with the RCU flavor consolidation around v4.20, this
339 RCU once again waits on nonpreemptible regions of code.
369 rcu_barrier_func(). Because recent RCU implementations treat
370 preemption-disabled regions of code as RCU read-side critical