While correctly synchronized programs are memory consistent, what is the most common relaxed consistency ordering used in a synchronized program? Wouldn't completely relaxed be best if the synchronization is already taken care of? Or is the overhead to synchronize with fence barriers greater than just doing it sequentially.
harrymellsop
My understanding is that the consistency ordering is down to the actual hardware; i.e. x86 has it's own special (incomplete) consistency paradigm. Therefore, it's not going to vary program-to-program, and compilers/programmers are going to have to deal with compiling for the specific known architecture.
While correctly synchronized programs are memory consistent, what is the most common relaxed consistency ordering used in a synchronized program? Wouldn't completely relaxed be best if the synchronization is already taken care of? Or is the overhead to synchronize with fence barriers greater than just doing it sequentially.