• Home
  • Raw
  • Download

Lines Matching refs:E

835 defined to link memory access events E and F whenever:
837 E and F are both stores on the same CPU and an smp_wmb() fence
841 where either X = E or else E ->rf X; or
844 order, where either X = E or else E ->rf X.
1354 features of strong fences. It links two events E and F whenever some
1355 store is coherence-later than E and propagates to every CPU and to RAM
1356 before F executes. The formal definition requires that E be linked to
1361 Consider first the case where E is a store (implying that the sequence
1365 E ->coe W ->cumul-fence* X ->rfe? Y ->strong-fence Z ->hb* F,
1374 Thus W, which comes later than E in the coherence order, will
1377 The case where E is a load is exactly the same, except that the first
1380 The existence of a pb link from E to F implies that E must execute
1382 have propagated to E's CPU before E executed. If E was a store, the
1383 memory subsystem would then be forced to make E come after W in the
1384 coherence order, contradicting the fact that E ->coe W. If E was a
1385 load, the memory subsystem would then be forced to satisfy E's read
1387 contradicting the fact that E ->fre W.
1507 "before": If E and F are RCU fence events (i.e., rcu_read_lock(),
1509 E ->rcu-link F includes cases where E is po-before some memory-access
1523 E ->rcu-gp F means that E and F are in fact the same event,
1527 E ->rcu-rscsi F means that E and F are the rcu_read_unlock()
1559 particular, E ->rcu-order F implies not only that E begins before F
1560 ends, but also that any write po-before E will propagate to every CPU
1562 imply that E must execute before F; in fact, each synchronize_rcu()
1599 there are fence events E and F such that:
1601 X ->po E ->rcu-order F ->po Y.
1614 details; the end result is that E ->rb F implies E must execute
1615 before F, just as E ->pb F does (and for much the same reasons).
1619 Equivalently, this "rcu" axiom requires that there are no events E
1620 and F with E ->rcu-link F ->rcu-order E. Or to put it a third way,
2209 executes before some marked access E. We can do this by finding a
2211 X ->xb* E. If E was also a plain access, we would also look for a
2212 marked access Y such that X ->xb* Y, and Y and E are ordered by a
2214 "post-bounded" by X and E is "pre-bounded" by Y.
2217 "r-post-bounded" by X. Similarly, E would be "r-pre-bounded" or
2218 "w-pre-bounded" by Y, depending on whether E was a store or a load.