On 03/29/2018 10:25 PM, Mark Reynolds wrote:
We can not back out the atomic work because it's needed to address several issues in our server.
One thing that's still not clear to me: What happens on 32-bit architectures which do not have 64-bit atomics? Are they buggy in a different way, and you used 64-bit atomics to address this because i686 is still the most important 32-bit architecture?
Looking at slapi_atomic_load_64 and slapi_atomic_incr_64, on the pure 32-bit architectures, you just use 32-bit counters instead of 64-bit counters. So whatever problems you were trying to fix exist on armhfp as well, and if the 32-bit atomics aren't good enough, you have to exclude armhfp as well.
Do you have a reproducer for the issues you are trying to fix? I can try to put something together which uses a different type for 64-bit atomics which has the proper 8-byte alignment, which will eliminate the known cause of incorrect CAS results on i686.
Thanks, Florian _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx