Assume that an x86(x64) CPU is executing atomic instructions (e.g., lock cmpxchg
) in a certain memory region. At the same time some device is also performing DMA reads from the same memory region without letting the CPU know. Now do the atomic operations executed by the CPU also show atomic effects to the DMA-ing device?
I think the DMA-ing device should also observe atomic changes, because of bus locking or x86's cache coherency, but I am not sure with this.
Thanks in advance!