-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
Closed
Description
The atomic orderings are something that would be really useful to have the exact details documented, as one might want to go as far as to write proofs about what orderings are safe to use, if any at all.
To be more specific, I'm missing these two pieces now:
SeqCstsays it acts likeAcqRelwith additionally anchoring the operation on a global timeline. However,AcqRelon load is effectively onlyAcquire(I guess because without store, other threads can't know when that load effectively happened). Does that apply toSeqCston load as well that operations can be moved after it?- Is
compare_and_swapconsidered an operation that combines load and store even in case it fails, or is it only a load (and therefore turnsAcqRelintoAcquireonly)?
I'd be happy to update the documentation, but I don't know what guarantees are actually provided.
Metadata
Metadata
Assignees
Labels
No labels