Am 31.01.2014 12:44, schrieb Andrej Mitrovic:
On 1/31/14, Benjamin Thaut <c...@benjamin-thaut.de> wrote:
For x86 CPUs you don't really need MemoryOrder.acq as reads are atomic
by default.

Hmm, I guess we could use a version(X86) block to pick this. When you
say x86, do you also imply X86_64? Where can I read about the memory
reads being atomic by default?


It depends on the processor architecture. Usually if you have a "normal" CPU architecture it garantuees a consitent view to memory. Meaning all reads and writes are atomic. (But not read modify write, or even read write). Usually only numa architectures don't garantuee a consitent view of memory, resulting in reads and writes not beeing atomic. For example the Intel Itanium architecture does not garantuee this. But usually all single processor architectures garantuee a consitent view of memory. I did not come arcross one yet, that didn't do so. (so ARM, PPC and X86, X86_64 all have atomic read/writes)

Also see: http://en.wikipedia.org/wiki/Cache_coherence

Reply via email to