3 ms·
> IMO the “out of thin air” problem is a purely academic limitation This article is not about the out of thin air problem, is it? I think you're thinking of so
by dataflow 3y ago
> IMO the “out of thin air” problem is a purely academic limitation
This article is not about the out of thin air problem, is it? I think you're thinking of something else?
- rnrn 3y agoThe motivation for the branch after load proposal and the addition of ordering constraints on relaxed atomic discussed in the article is the out of thin air problem See Boehm’s original 2013 proposal (linked in the article) for details
- jcranmer 3y agoIt's not about out-of-thin-air, but it's relying on other criticisms of out-of-thin-air to motivate why the new model is supposedly better.
- raphlinus 3y agoThey're related. Requiring sb ∪ rf to be acyclic is indeed one solution to the OOTA problem, but is arguably too heavy a hammer. The other thing to say about OOTA is that it's usually referred to as a purely theoretical problem, but it is possible to imagine compiler optimization that would implicate it, for example using the storage location of the atomic to store a temporary value, knowing that it will be written later in program order anyway. That would be a perfectly reasonable thing to do in sequential code, but obviously a bad idea for atomics. Even so, experience shows that when it comes to letting compiler writers do optimizations that are obviously a bad idea, we have to explicitly and unambiguously forbid it in the spec.