Lines Matching full:critical

74 of all pre-existing RCU read-side critical sections. An RCU read-side
75 critical section begins with the marker ``rcu_read_lock()`` and ends
77 RCU treats a nested set as one big RCU read-side critical section.
173 The RCU read-side critical section in ``do_something_dlm()`` works with
191 critical section must not contain calls to ``synchronize_rcu()``.
192 Similarly, an RCU read-side critical section must not contain anything
372 outermost RCU read-side critical section containing that
386 #. Wait for all pre-existing RCU read-side critical sections to complete
426 read-side critical section or in a code segment where the pointer
486 #. Each CPU that has an RCU read-side critical section that begins
488 memory barrier between the time that the RCU read-side critical
490 this guarantee, a pre-existing RCU read-side critical section might
493 #. Each CPU that has an RCU read-side critical section that ends after
496 time that the RCU read-side critical section begins. Without this
497 guarantee, a later RCU read-side critical section running after the
516 | Given that multiple CPUs can start RCU read-side critical sections at |
518 | whether or not a given RCU read-side critical section starts before a |
523 | If RCU cannot tell whether or not a given RCU read-side critical |
525 | it must assume that the RCU read-side critical section started first. |
527 | waiting on a given RCU read-side critical section only if it can |
533 | within the enclosed RCU read-side critical section to the code |
535 | then a given RCU read-side critical section begins before a given |
537 | effect of some access within the critical section, in which case none |
538 | of the accesses within the critical section may observe the effects |
570 | end of the RCU read-side critical section and the end of the grace |
587 | grace period and the beginning of the RCU read-side critical section, |
603 | critical sections. Given such rearrangement, if a given RCU read-side |
604 | critical section is done, how can you be sure that all prior RCU |
605 | read-side critical sections are done? Won't the compiler |
615 | RCU detects the end of a given RCU read-side critical section, it |
616 | will necessarily detect the end of all prior RCU read-side critical |
653 within an RCU read-side critical section. For example, that RCU
654 read-side critical section might search for a given data element, and
656 element, all while remaining in that RCU read-side critical section. Of
657 course, it is necessary to exit the RCU read-side critical section
691 #. `Grace Periods Don't Partition Read-Side Critical Sections`_
692 #. `Read-Side Critical Sections Don't Partition Grace Periods`_
808 Grace Periods Don't Partition Read-Side Critical Sections
811 It is tempting to assume that if any part of one RCU read-side critical
813 read-side critical section follows that same grace period, then all of
814 the first RCU read-side critical section must precede all of the second.
816 partition the set of RCU read-side critical sections. An example of this
854 that the thread cannot be in the midst of an RCU read-side critical
859 If it is necessary to partition RCU read-side critical sections in this
901 the two RCU read-side critical sections cannot overlap, guaranteeing
913 Read-Side Critical Sections Don't Partition Grace Periods
916 It is also tempting to assume that if an RCU read-side critical section
971 Again, an RCU read-side critical section can overlap almost all of a
973 period. As a result, an RCU read-side critical section cannot partition
980 | read-side critical section, would be required to partition the RCU |
981 | read-side critical sections at the beginning and end of the chain? |
1083 primitives be legal within RCU read-side critical sections, including
1094 | These are forbidden within Linux-kernel RCU read-side critical |
1096 | case, voluntary context switch) within an RCU read-side critical |
1098 | read-side critical sections, and also within Linux-kernel sleepable |
1099 | RCU `(SRCU) <#Sleepable%20RCU>`__ read-side critical sections. In |
1101 | that the corresponding critical sections can be preempted, which also |
1103 | locks!) may be acquire within -rt-Linux-kernel RCU read-side critical |
1105 | Note that it *is* legal for a normal RCU read-side critical section |
1156 within the RCU read-side critical section, and this is indicated by the
1169 Energy efficiency is a critical component of performance today, and
1200 critical section was not preempted (as will be the case for the
1205 branches. However, in the case where the RCU read-side critical section
1207 interrupts. This is why it is better to nest an RCU read-side critical
1209 cases where that critical section is short enough to avoid unduly
1214 addition to the duration of the longest RCU read-side critical section.
1230 critical sections are short. There are currently no special latency
1420 example, an infinite loop in an RCU read-side critical section must by
1448 has been preempted within an RCU read-side critical section is
1494 use. And in theory, RCU read-side critical sections may be composed, and
1518 critical sections between which there is an operation that waits for a
1519 grace period cannot be enclosed in another RCU read-side critical
1521 within an RCU read-side critical section: To do so would result either
1523 critical section, neither of which is conducive to a long-lived and
1529 a network receive operation). For another example, lock-based critical
1533 In short, although RCU read-side critical sections are highly
1541 read-side critical sections, perhaps even so intense that there was
1543 read-side critical section in flight. RCU cannot allow this situation to
1544 block grace periods: As long as all the RCU read-side critical sections
1548 RCU read-side critical sections being preempted for long durations,
1549 which has the effect of creating a long-duration RCU read-side critical
1562 rates should not delay RCU read-side critical sections, although some
1589 critical section. Update-side code can use
1601 that it has been invoked within an RCU read-side critical section. I
1628 #. An infinite loop in an RCU read-side critical section will eventually
1634 waiting on that particular RCU read-side critical section.
1653 read-side critical sections, there is currently no good way of doing
1775 reason is that an RCU read-side critical section might be preempted,
1821 The Linux kernel has interrupts, and RCU read-side critical sections are
1834 critical sections are legal within NMI handlers. Thankfully, RCU
1924 critical sections. This requirement was present from day one in
1958 somewhere within the corresponding RCU read-side critical section.
1965 read-side critical sections implicitly avoids earlier issues that used
1988 reorder a ``get_user()`` invocation into an RCU read-side critical section.
2015 state in the middle of an RCU read-side critical section. This misplaced
2030 of RCU read-side critical sections.
2043 RCU read-side critical section on an idle CPU. (Kernels built with
2047 whether or not it is currently legal to run RCU read-side critical
2159 critical sections, and RCU believes this CPU to be idle, you will get
2164 no-joking guaranteed to never execute any RCU read-side critical
2173 fact joking about not doing RCU read-side critical sections.
2219 including some that are size critical. The ``page`` structure is a case
2268 hot code paths in performance-critical portions of the Linux kernel's
2294 approach of disabling preemption across RCU read-side critical sections
2296 an RCU implementation that allows RCU read-side critical sections to be
2344 safety-critical certifications. In fact, rumor has it that the Linux
2345 kernel is already being used in production for safety-critical
2385 ``local_bh_disable()`` across its read-side critical sections, and which
2395 during the RCU-bh read-side critical section will be deferred. In this
2399 read-side critical section rather than ``rcu_read_unlock_bh()``, but the
2402 RCU-bh read-side critical section executes during a time of heavy
2432 RCU read-side critical section can be a quiescent state. Therefore,
2442 preemption attempt during the RCU-sched read-side critical section,
2458 preemption also marks an RCU-sched read-side critical section, including
2466 read-side critical section” was a reliable indication that this someone
2468 read-side critical section, you can probably afford to use a
2470 the advent of the Linux kernel's notifiers, whose RCU read-side critical
2493 As noted above, it is legal to block within SRCU read-side critical
2495 block forever in one of a given domain's SRCU read-side critical
2498 happen if any operation in a given domain's SRCU read-side critical
2515 ``ss1``-domain SRCU read-side critical section acquired another mutex
2521 Unlike the other RCU flavors, SRCU read-side critical sections can run
2595 critical sections that are delimited by voluntary context switches, that
2598 userspace execution also delimit tasks-RCU read-side critical sections.