Lines Matching full:ordering
14 ``atomic_*()`` functions with regards to the memory ordering guarantees.
17 these memory ordering guarantees.
23 memory ordering in general and for atomic operations specifically.
25 Relevant types of memory ordering
29 ordering types that are relevant for the atomics and reference
33 In the absence of any memory ordering guarantees (i.e. fully unordered)
41 A strong (full) memory ordering guarantees that all prior loads and
49 A RELEASE memory ordering guarantees that all prior loads and
57 An ACQUIRE memory ordering guarantees that all post loads and
84 Memory ordering guarantee changes:
89 case 2) - non-"Read/Modify/Write" (RMW) ops with release ordering
96 Memory ordering guarantee changes:
98 * none (both provide RELEASE ordering)
109 Memory ordering guarantee changes:
120 Memory ordering guarantee changes:
122 * fully unordered --> RELEASE ordering
133 Memory ordering guarantees changes:
137 .. note:: We really assume here that necessary ordering is provided as a
141 case 6) - increment-based RMW ops with acquire ordering that return a value
149 Memory ordering guarantees changes:
151 * fully ordered --> ACQUIRE ordering on success
162 Memory ordering guarantees changes:
164 * fully ordered --> RELEASE ordering + ACQUIRE ordering on success
175 Memory ordering guarantees changes:
177 * fully ordered --> RELEASE ordering + control dependency
190 Memory ordering guarantees changes:
192 * fully ordered --> RELEASE ordering + control dependency + hold