Lines Matching full:period
48 A grace period can be completed at the root once every CPU
51 Once a grace period has completed, record of that fact is propagated
102 and scalability benefits of partitioning, even though RCU grace-period
113 period will progress all the way to the root ``rcu_node`` structure,
125 while they are waiting for a grace period to elapse, as shown in the
145 example, awareness of the start or end of a given RCU grace period
158 grace-period state, and maintains state used to force quiescent
162 propagates grace-period information from the root to the leaves. It
163 provides local copies of the grace-period state in order to allow
172 ignored during a given grace period.
178 copy of the grace-period information to allow for-free synchronized
265 Grace-Period Tracking
275 current grace-period sequence number. The bottom two bits are the state
276 of the current grace period, which can be zero for not yet started or
295 | and update it directly when starting a new grace period? |
313 | 5. Result: Lots of lock acquisitions with no grace period progress |
316 | grace period counter without immediately affecting what CPUs see in |
333 The ``->gp_max`` field tracks the duration of the longest grace period
345 propagates grace-period information from the root down to the leaves.
346 They provides local copies of the grace-period state in order to allow
354 determine which CPUs should be ignored during a given grace period.
407 .. _grace-period-tracking-1:
409 Grace-Period Tracking
426 beginning and the end of each grace period.
429 period request seen by the corresponding ``rcu_node`` structure. The
444 | the end of the grace period. Modulo-arithmetic comparisons therefore |
465 grace period. Such children will have a value of 1 in their
470 current expedited grace period. An expedited grace period has the same
471 conceptual properties as a normal grace period, but the expedited
473 grace-period latency, for example, consuming a few tens of microseconds
474 worth of CPU time to reduce grace-period duration from milliseconds to
489 | Lockless grace-period computation! Such a tantalizing possibility! |
493 | wakes up, it notices that the current RCU grace period needs it to |
505 | period and starting a new one. |
506 | #. CPU 0 now reports its quiescent state for the wrong grace period. |
507 | That grace period might now end before the RCU read-side critical |
511 | of the bits with updating of the grace-period sequence number in |
539 one of the tasks is blocking the current grace period, all subsequent
540 tasks must also be blocking that same grace period. Therefore, a single
542 grace period. That pointer is stored in ``->gp_tasks`` for normal grace
544 two fields are ``NULL`` if either there is no grace period in flight or
545 if there are no blocked tasks preventing that grace period from
553 RCU read-side critical section, then an expedited grace period started,
555 grace period started, and finally task 3 blocked in an RCU read-side
562 normal grace period, and task T3 is blocking neither grace period. Note
569 grace period is waiting on a blocked task.
727 period. Note that different CPUs can have different ideas about which
728 grace period is current, hence the ``->gp_seq`` field.
729 #. ``RCU_NEXT_READY_TAIL``: Callbacks waiting for the next grace period
732 grace period.
753 are both waiting on the current grace period, give or take possible
754 disagreements about exactly which grace period is the current one. The
757 there are no callbacks waiting on the next RCU grace period. The
760 been assigned to an RCU grace period. Note that the
775 The ``->gp_seq[]`` array records grace-period numbers corresponding to
777 ideas as to which is the current grace period while still avoiding
822 copy of the grace-period information to allow for-free synchronized
855 Quiescent-State and Grace-Period Tracking
882 | All this replication of the grace period numbers can only cause |
893 | a previously sampled quiescent state to the wrong grace period are |
930 whenever it notices that another RCU grace period has completed. The CPU
931 detects the completion of an RCU grace period by noticing that the value
935 each grace period.
1118 tasks-RCU grace period, ``->rcu_tasks_holdout`` is set if the current
1119 tasks-RCU grace period is waiting on this task,