Lines Matching full:side
23 which means that RCU's read-side primitives can be exceedingly fast
100 of all pre-existing RCU read-side critical sections.
101 An RCU read-side critical section
105 big RCU read-side critical section.
170 update-side code does run concurrently with readers, whether
219 The RCU read-side critical section in <tt>do_something_dlm()</tt>
242 an RCU read-side critical section must not contain calls to
244 Similarly, an RCU read-side critical section must not
251 it would be good to be able to use RCU to coordinate read-side
463 outermost RCU read-side critical section containing that
481 <li> Wait for all pre-existing RCU read-side critical sections
530 within an RCU read-side critical section or in a code
532 code protected by the corresponding update-side lock.
605 <li> Each CPU that has an RCU read-side critical section that
608 that the RCU read-side critical section ends and the time that
610 Without this guarantee, a pre-existing RCU read-side critical section
614 <li> Each CPU that has an RCU read-side critical section that ends
618 read-side critical section begins.
619 Without this guarantee, a later RCU read-side critical section
646 Given that multiple CPUs can start RCU read-side critical sections
648 tell whether or not a given RCU read-side critical section starts
654 RCU read-side critical section starts before a
656 then it must assume that the RCU read-side critical section
659 can avoid waiting on a given RCU read-side critical section only
669 the relationship of the code within the enclosed RCU read-side
672 If we take this viewpoint, then a given RCU read-side critical
735 end of the RCU read-side critical section and the end of the
767 grace period and the beginning of the RCU read-side critical section,
789 RCU read-side critical sections.
790 Given such rearrangement, if a given RCU read-side critical section
791 is done, how can you be sure that all prior RCU read-side critical
802 <tt>schedule()</tt>, if RCU detects the end of a given RCU read-side
804 RCU read-side critical sections, no matter how aggressively the
850 update within an RCU read-side critical section.
851 For example, that RCU read-side critical section might search for
852 a given data element, and then might acquire the update-side
854 in that RCU read-side critical section.
855 Of course, it is necessary to exit the RCU read-side critical section
876 This guarantee allows lookup code to be shared between read-side
877 and update-side code, and was premeditated, appearing in the earliest
883 RCU provides extremely lightweight readers, and its read-side guarantees,
899 <li> <a href="#Grace Periods Don't Partition Read-Side Critical Sections">
900 Grace Periods Don't Partition Read-Side Critical Sections</a>
901 <li> <a href="#Read-Side Critical Sections Don't Partition Grace Periods">
902 Read-Side Critical Sections Don't Partition Grace Periods</a>
910 Reader-side markers such as <tt>rcu_read_lock()</tt> and
1048 <h3><a name="Grace Periods Don't Partition Read-Side Critical Sections">
1049 Grace Periods Don't Partition Read-Side Critical Sections</a></h3>
1052 It is tempting to assume that if any part of one RCU read-side critical
1054 read-side critical section follows that same grace period, then all of
1055 the first RCU read-side critical section must precede all of the second.
1057 partition the set of RCU read-side critical sections.
1101 RCU knows that the thread cannot be in the midst of an RCU read-side
1107 If it is necessary to partition RCU read-side critical sections in this
1155 This mean that the two RCU read-side critical sections cannot overlap,
1171 <h3><a name="Read-Side Critical Sections Don't Partition Grace Periods">
1172 Read-Side Critical Sections Don't Partition Grace Periods</a></h3>
1175 It is also tempting to assume that if an RCU read-side critical section
1237 Again, an RCU read-side critical section can overlap almost all of a
1240 As a result, an RCU read-side critical section cannot partition a pair
1248 read-side critical section, would be required to partition the RCU
1249 read-side critical sections at the beginning and end of the chain?
1296 In theory, you could enter the RCU read-side critical section first,
1297 but it is more efficient to keep the entire RCU read-side critical
1299 Of course, RCU read-side critical sections that extend outside of
1304 read-side critical sections within preempt-disable regions, because
1397 which means that RCU's read-side primitives are optimized, often at the
1398 expense of its update-side primitives.
1414 <li> Wait-free read-side primitives for real-time use.
1425 synchronization primitives be legal within RCU read-side critical sections,
1437 These are forbidden within Linux-kernel RCU read-side critical
1439 (in this case, voluntary context switch) within an RCU read-side
1441 However, sleeping locks may be used within userspace RCU read-side
1444 read-side critical sections.
1449 -rt-Linux-kernel RCU read-side critical sections.
1453 Note that it <i>is</i> legal for a normal RCU read-side
1517 the RCU read-side critical section, and this is indicated by the
1565 For example, in keeping with RCU's read-side specialization,
1572 In preemptible environments, in the case where the RCU read-side
1579 However, in the case where the RCU read-side critical section was preempted,
1581 This is why it is better to nest an RCU read-side critical section
1590 the duration of the longest RCU read-side critical section.
1608 microseconds on small systems, at least in cases where the RCU read-side
1833 And in theory, RCU read-side critical sections may be composed, and in
1863 That said, a consecutive pair of RCU read-side critical sections
1865 cannot be enclosed in another RCU read-side critical section.
1867 an RCU read-side critical section: To do so would result either
1869 in RCU implicitly splitting the enclosing RCU read-side critical
1882 In short, although RCU read-side critical sections are highly composable,
1890 RCU read-side critical sections, perhaps even so intense that there
1892 RCU read-side critical section in flight.
1894 all the RCU read-side critical sections are finite, grace periods
1899 in RCU read-side critical sections being preempted for long durations,
1900 which has the effect of creating a long-duration RCU read-side
1917 Finally, high update rates should not delay RCU read-side critical
1918 sections, although some small read-side delays can occur when using
1949 RCU read-side critical section.
1950 Update-side code can use <tt>rcu_dereference_protected()</tt>,
1968 an RCU read-side critical section.
2000 <li> An infinite loop in an RCU read-side critical section will
2009 RCU read-side critical section.
2031 of RCU read-side critical sections, there is currently no
2149 The read-side primitives (<tt>rcu_read_lock()</tt>,
2188 The reason is that an RCU read-side critical section might be preempted,
2248 The Linux kernel has interrupts, and RCU read-side critical sections are
2264 RCU read-side critical sections are legal within NMI handlers.
2265 Thankfully, RCU update-side primitives, including
2368 with the exception of <a href="#Sleepable RCU">SRCU</a> read-side
2399 in the middle of an outermost RCU read-side critical section unless either
2401 RCU read-side critical section, or
2403 that entire RCU read-side critical section.
2412 RCU read-side critical sections that acquired scheduler locks.
2469 execute an RCU read-side critical section on an idle CPU.
2475 test whether or not it is currently legal to run RCU read-side
2600 <li> If a CPU is in a portion of the kernel that executes RCU read-side
2607 positively no-joking guaranteed to never execute any RCU read-side
2618 was in fact joking about not doing RCU read-side critical sections.
2740 read-side primitives.
2770 read-side critical sections is inappropriate.
2772 use an RCU implementation that allows RCU read-side critical
2880 across its read-side critical sections, and which uses the transition
2892 RCU-bh read-side critical section will be deferred.
2896 with the code following the RCU-bh read-side critical section rather
2900 For example, suppose that a three-millisecond-long RCU-bh read-side
2926 side effect of also waiting for all pre-existing interrupt
2930 of an RCU read-side critical section can be a quiescent state.
2943 RCU-sched read-side critical section, <tt>rcu_read_unlock_sched()</tt>
2966 read-side critical section, including
2975 an RCU read-side critical section” was a reliable indication
2977 After all, if you are always blocking in an RCU read-side critical
2981 whose RCU read-side critical
2995 That said, one consequence of these domains is that read-side code
3010 As noted above, it is legal to block within SRCU read-side critical sections,
3012 If you block forever in one of a given domain's SRCU read-side critical
3015 happen if any operation in a given domain's SRCU read-side critical
3037 and if an <tt>ss1</tt>-domain SRCU read-side critical section
3046 Unlike the other RCU flavors, SRCU read-side critical sections can
3067 future grace period has the side effect of expediting all prior
3117 anywhere in the code, it is not possible to use read-side markers
3130 read-side critical sections that are delimited by voluntary context
3135 tasks-RCU read-side critical sections.
3148 RCU read-side critical sections, from softirq handlers, and from
3157 around each RCU read-side critical section, regardless of what
3159 But suppose that some of the RCU read-side critical sections are
3177 This works, but triples the update-side latency penalty.
3227 Again, it is usually better to adjust the RCU read-side critical sections
3234 One of the tricks that RCU uses to attain update-side scalability is
3270 because the hotpath read-side primitives do not access the combining