Lines Matching refs:plain
932 Plain-coherence: This requires that plain memory accesses
939 "rcu" and "plain-coherence" axioms are specific to the LKMM.
2015 accesses such as x or y = 0 are simply called "plain" accesses.
2017 Early versions of the LKMM had nothing to say about plain accesses.
2019 by plain accesses are not concurrently read or written by any other
2021 of transformations or optimizations of code containing plain accesses,
2047 But since P0's load from x is a plain access, the compiler may decide
2069 doesn't try to predict all possible outcomes of code containing plain
2082 3. at least one of them is plain,
2194 are plain. Now, although we have not said so explicitly, up to this
2203 plain accesses are a different story; the compiler may combine them,
2205 who knows what else. Seeing a plain access in the source code tells
2213 code would be safe!). For another, it cannot move a plain access past
2231 -- even if some of the accesses are plain. (Of course, the CPU may
2240 smp_rmb() or smp_store_release() apply to plain accesses as well as to
2244 again, now using plain accesses for buf:
2273 machine instructions the compiler generates for the plain
2295 This analysis illustrates how the LKMM deals with plain accesses in
2296 general. Suppose R is a plain load and we want to show that R
2299 X ->xb* E. If E was also a plain access, we would also look for a
2314 issue. When the source code contains a plain store, the compiler is
2315 allowed to put plain loads of the same location into the object code.
2327 For this reason, whenever the LKMM requires a plain store to be
2337 Incidentally, the other tranformation -- augmenting a plain load by
2348 The LKMM includes a second way to pre-bound plain accesses, in
2355 the LKMM says that the marked load of ptr pre-bounds the plain load of
2357 instructions corresponding to the plain load. This is a reasonable
2388 rcu_assign_pointer() performs a store-release, so the plain store to b
2422 Finally, it turns out there is a situation in which a plain write does
2446 Do the plain stores to y race? Clearly not if P1 reads a non-zero
2459 concurrent and there is no race, even though P1's plain store to y
2468 sequence. If W is plain then they also have to be linked by an
2472 sequence, and if W' is plain then they also have to be linked by a
2494 There is one more part of the LKMM related to plain accesses (although
2498 various relation must not contain a cycle) doesn't apply to plain
2500 they don't make sense even for plain accesses.
2503 called the "plain-coherence" axiom because of their resemblance to the
2512 executes before, even if one or both is plain).
2524 This is the extent to which the LKMM deals with plain accesses.
2525 Perhaps it could say more (for example, plain accesses might
2577 Although we said that plain accesses are not linked by the ppo
2579 an address dependency from a marked load R to a plain store W,
2587 Secondly, plain accesses can carry dependencies: If a data dependency
2592 if W' or R' (or both!) are plain.