Lines Matching full:rcu
12 This document gives a rough visual overview of how Tree RCU's
15 What Is Tree RCU's Grace Period Memory Ordering Guarantee?
18 RCU grace periods provide extremely strong memory-ordering guarantees
20 Any code that happens after the end of a given RCU grace period is guaranteed
22 period that are within RCU read-side critical sections.
23 Similarly, any code that happens before the beginning of a given RCU grace
25 of that grace period that are within RCU read-side critical sections.
27 Note well that RCU-sched read-side critical sections include any region
33 RCU updaters use this guarantee by splitting their updates into
37 a linked RCU-protected data structure, and phase two frees that element.
42 The RCU implementation provides this guarantee using a network
46 Tree RCU Grace Period Memory Ordering Building Blocks
49 The workhorse for RCU's grace-period memory ordering is the
72 Tree RCU uses these two ordering guarantees to form an ordering
126 | Because we must provide ordering for RCU's polling grace-period |
138 | RCU guarantees that the outcome r0 == 0 && r1 == 0 will not |
139 | happen, even if CPU 1 is in an RCU extended quiescent state |
140 | (idle or offline) and thus won't interact directly with the RCU |
145 RCU's grace-period memory ordering guarantee to extend to any
146 RCU read-side critical sections preceding and following the current
193 Tree RCU's grace--period memory-ordering guarantees rely most heavily on
198 newly arrived RCU callbacks against future grace periods:
251 Tree RCU Grace Period Memory Ordering Components
254 Tree RCU's grace-period memory-ordering guarantee is provided by a
255 number of RCU components:
272 If RCU's grace-period guarantee is to mean anything at all, any access
275 portion of RCU's grace period guarantee is shown in the following
283 RCU-protected data structure). It simply enqueues the ``rcu_head``
347 helps reject false-positive RCU CPU stall detection. Note that only the
395 | However, if we instead assume that RCU is not self-aware, then even |
427 CPU will consider any RCU read-side critical section that started before
435 | But a RCU read-side critical section might have started after the |
482 Due to energy-efficiency considerations, RCU is forbidden from
483 disturbing idle CPUs. CPUs are therefore required to notify RCU when
490 The RCU grace-period kernel thread samples the per-CPU idleness variable
492 ``->lock``. This means that any RCU read-side critical sections that
495 beginning of the current grace period will happen before any RCU
505 RCU is also forbidden from disturbing offline CPUs, which might well be
507 required to notify RCU of their comings and goings as part of the
516 ``->qsmaskinitnext``. The RCU grace-period kernel thread samples this
556 | RCU. But this diagram is complex enough as it is, so simplicity |
585 | before RCU becomes aware of this. The latest reasonable candidate is |
589 | are going to work with RCU, you need to learn to embrace uncertainty. |
596 been updated, that CPU can begin invoking its RCU callbacks that were