Home
last modified time | relevance | path

Searched refs:ordering (Results 1 – 25 of 253) sorted by relevance

1234567891011

/openbmc/linux/Documentation/core-api/
H A Drefcount-vs-atomic.rst17 these memory ordering guarantees.
25 Relevant types of memory ordering
84 Memory ordering guarantee changes:
97 Memory ordering guarantee changes:
108 Memory ordering guarantee changes:
110 * fully unordered --> RELEASE ordering
121 Memory ordering guarantees changes:
137 Memory ordering guarantees changes:
139 * fully ordered --> RELEASE ordering + ACQUIRE ordering on success
150 Memory ordering guarantees changes:
[all …]
/openbmc/linux/tools/memory-model/Documentation/
H A Dordering.txt1 This document gives an overview of the categories of memory-ordering
20 3. Unordered accesses, as the name indicates, have no ordering
23 some of these "unordered" operations provide limited ordering
38 b. Read-modify-write (RMW) ordering augmentation barriers.
132 full ordering for these primitives. One way to obtain full ordering on
158 ordering subsequent to an unordered RMW atomic operation.
251 c. RCU read-side ordering.
279 ordering, and an smp_mb() would be needed instead:
290 provides the needed ordering.
348 ordering when they succeed.
[all …]
H A Dcontrol-dependencies.txt12 Therefore, a load-load control dependency will not preserve ordering
31 However, stores are not speculated. This means that ordering is
40 of ordering. But please note that neither the READ_ONCE() nor the
59 It is tempting to try use control dependencies to enforce ordering on
78 WRITE_ONCE(b, 1); /* BUG: No ordering vs. load from a!!! */
91 have been applied. Therefore, if you need ordering in this example,
103 Without explicit memory ordering, control-dependency-based ordering is
121 preserve ordering. For example:
172 destroying the control dependency's ordering:
194 It is tempting to argue that there in fact is ordering because the
[all …]
/openbmc/linux/scripts/atomic/kerneldoc/
H A Ddec3 * ${class}${atomicname}() - atomic decrement with ${desc_order} ordering
6 * Atomically updates @v to (@v - 1) with ${desc_order} ordering.
H A Dinc3 * ${class}${atomicname}() - atomic increment with ${desc_order} ordering
6 * Atomically updates @v to (@v + 1) with ${desc_order} ordering.
H A Dxor3 * ${class}${atomicname}() - atomic bitwise XOR with ${desc_order} ordering
7 * Atomically updates @v to (@v ^ @i) with ${desc_order} ordering.
H A Dor3 * ${class}${atomicname}() - atomic bitwise OR with ${desc_order} ordering
7 * Atomically updates @v to (@v | @i) with ${desc_order} ordering.
H A Dand3 * ${class}${atomicname}() - atomic bitwise AND with ${desc_order} ordering
7 * Atomically updates @v to (@v & @i) with ${desc_order} ordering.
H A Dandnot3 * ${class}${atomicname}() - atomic bitwise AND NOT with ${desc_order} ordering
7 * Atomically updates @v to (@v & ~@i) with ${desc_order} ordering.
H A Dread3 * ${class}${atomicname}() - atomic load with ${desc_order} ordering
6 * Atomically loads the value of @v with ${desc_order} ordering.
H A Dsub3 * ${class}${atomicname}() - atomic subtract with ${desc_order} ordering
7 * Atomically updates @v to (@v - @i) with ${desc_order} ordering.
H A Dset3 * ${class}${atomicname}() - atomic set with ${desc_order} ordering
7 * Atomically sets @v to @i with ${desc_order} ordering.
H A Dadd3 * ${class}${atomicname}() - atomic add with ${desc_order} ordering
7 * Atomically updates @v to (@v + @i) with ${desc_order} ordering.
H A Dxchg3 * ${class}${atomicname}() - atomic exchange with ${desc_order} ordering
7 * Atomically updates @v to @new with ${desc_order} ordering.
H A Dinc_not_zero3 * ${class}${atomicname}() - atomic increment unless zero with ${desc_order} ordering
6 * If (@v != 0), atomically updates @v to (@v + 1) with ${desc_order} ordering.
H A Dinc_unless_negative3 * ${class}${atomicname}() - atomic increment unless negative with ${desc_order} ordering
6 * If (@v >= 0), atomically updates @v to (@v + 1) with ${desc_order} ordering.
H A Ddec_unless_positive3 * ${class}${atomicname}() - atomic decrement unless positive with ${desc_order} ordering
6 * If (@v <= 0), atomically updates @v to (@v - 1) with ${desc_order} ordering.
H A Dinc_and_test3 * ${class}${atomicname}() - atomic increment and test if zero with ${desc_order} ordering
6 * Atomically updates @v to (@v + 1) with ${desc_order} ordering.
H A Ddec_and_test3 * ${class}${atomicname}() - atomic decrement and test if zero with ${desc_order} ordering
6 * Atomically updates @v to (@v - 1) with ${desc_order} ordering.
H A Ddec_if_positive3 * ${class}${atomicname}() - atomic decrement if positive with ${desc_order} ordering
6 * If (@v > 0), atomically updates @v to (@v - 1) with ${desc_order} ordering.
H A Dadd_negative3 * ${class}${atomicname}() - atomic add and test if negative with ${desc_order} ordering
7 * Atomically updates @v to (@v + @i) with ${desc_order} ordering.
H A Dcmpxchg3 * ${class}${atomicname}() - atomic compare and exchange with ${desc_order} ordering
8 * If (@v == @old), atomically updates @v to @new with ${desc_order} ordering.
H A Dsub_and_test3 * ${class}${atomicname}() - atomic subtract and test if zero with ${desc_order} ordering
7 * Atomically updates @v to (@v - @i) with ${desc_order} ordering.
H A Dtry_cmpxchg3 * ${class}${atomicname}() - atomic compare and exchange with ${desc_order} ordering
8 * If (@v == @old), atomically updates @v to @new with ${desc_order} ordering.
H A Dadd_unless7 * ${class}${atomicname}() - atomic add unless value with ${desc_order} ordering
12 * If (@v != @u), atomically updates @v to (@v + @a) with ${desc_order} ordering.

1234567891011