Any of you have understood the meaning of Unsafe.storeFence() inside the ManyToOneRingBuffer in Agrona?
Why a volatile store (StoreStore & LoadStore) on the header instead of a putOrdered (StoreStore) on the header + storefence() (StoreStore & LoadStore) couldn't have the same effect?
If I get properly the "doc" such a fence has a release meaning...
Thanks!!!
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.
unsafe.cpp
and the C1 intrinsic versions, implement these identically to the volatile versions, with no relaxing of the memory barriers. Only the C2 intrinsics actually elide the trailing barrier."Thanks Martin,
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
Needs to find out with JHM on ARM (i've a lot of Raspberry PI at home :P) if a volatile write have the same cost of a ordered one? The trailing fence (if present) could have a performance impact per se? With a microbench that only write something?mmmm...
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.