Emilio G Cota writes: [...] > - What to do when atomic ops are used on something other than RAM? > Should we have a "slow path" that is not atomic for these cases, or > it's OK to assume code is bogus? For now, I just wrote XXX. [...]
You mean, for example, on I/O space? In these cases, it depends on the specific device you're accessing and the interconnect used to access it. TL;DR: In some cases, it makes sense to support atomics outside RAM. For example, PCIe has support for expressing atomic operations in its messages (I'm sure other interconnects do too). But in the end it depends on whether the device supports them (I'm not sure if the device can reject atomics and produce an error to whomever tried to do the atomic access, or if they are simply ignored). Cheers, Lluis