Re:Examining ARM vs. x86 Memory Models with Rust
by BeeOnRope on Saturday June 27, 2020 @09:28AM
(#23661734)
I'm saying that everyone making CPUs uses a strongly ordered cache coherency subsystem and re-ordering only comes from "pipeline effects" [1].
Slightly longer version of the same claim here:
https://news.ycombinator.com/item?id=23661588
---
[1] I prefer the term core-local because I think it's somewhat more accurate as it can include things like the delayed processing of invalidations and sibling core interactions in SMT which might not fall under "pipeline" effects but are still local to the (physical) core.
Re:Examining ARM vs. x86 Memory Models with Rust
by ajross on Saturday June 27, 2020 @10:20AM
(#23661984)
That may well be true in ARM application processors, at least between CPUs. Though nothing in the architectural memory model guarantees that so I'd be surprised if there weren't some surprises (DMA on most of those CPUs is upstream of the cache, for example, and not susceptible to that kind of optimization).
I can guarantee it's not for "everyone making CPUs". I'm literally writing code as we speak on a multi CPU cache-incoherent system. It's a big world.
Re:Examining ARM vs. x86 Memory Models with Rust
by jeffreygoesto on Saturday June 27, 2020 @12:01PM
(#23662609)
TriCore by any chance? ;-)
In practice that's the stuff that's expensive.