Lines Matching full:rcu
3 RCU and Unloadable Modules
8 RCU (read-copy update) is a synchronization mechanism that can be thought
11 and unbounded latency. RCU read-side critical sections are delimited
15 This means that RCU writers are unaware of the presence of concurrent
16 readers, so that RCU updates to shared data must be undertaken quite
19 such readers might hold a reference to them. RCU updates can therefore be
20 rather expensive, and RCU is thus best suited for read-mostly situations.
22 How can an RCU writer possibly determine when all readers are finished,
35 rcu_head struct placed within the RCU-protected data structure and
41 call_rcu(&p->rcu, p_callback);
48 struct pstruct *p = container_of(rp, struct pstruct, rcu);
59 If we unload the module while some RCU callbacks are pending,
62 http://lwn.net/images/ns/kernel/rcu-drop.jpg.
70 heavy RCU-callback load, then some of the callbacks might be deferred
79 a grace period to elapse, rcu_barrier() waits for all outstanding RCU
81 synchronize_rcu(), in particular, if there are no RCU callbacks queued
87 1. Prevent any new RCU callbacks from being posted.
157 52 /* Wait for all RCU callbacks to fire. */
170 Line 6 sets a global variable that prevents any RCU callbacks from
172 RCU callbacks rarely include calls to call_rcu(). However, the rcutorture
178 RCU callbacks will be posted. The rcu_barrier() call on line 53 waits
195 RCU callbacks to complete.
209 that RCU callbacks are never reordered once queued on one of the per-CPU
210 queues. His implementation queues an RCU callback on each of the per-CPU
212 which point, all earlier RCU callbacks are guaranteed to have completed.
240 to post an RCU callback, as follows::
253 Lines 3 and 4 locate RCU's internal per-CPU rcu_data structure,
291 code using RCU is in the core kernel rather than in modules. However, if
292 you are using RCU from an unloadable module, you need to use rcu_barrier()
307 RCU in a filesystem, which resulted in a similar situation at
312 Much later, yours truly hit the RCU module-unload problem when
345 Currently, -rt implementations of RCU keep but a single global
346 queue for RCU callbacks, and thus do not suffer from this
347 problem. However, when the -rt RCU eventually does have per-CPU