On Mon, 20 Aug 2018, Sinan Kaya wrote: > > That is that the caller must not > > assume that writes issued by `writeX' calls will be observed in order on > > the external bus or specifically by the device addressed. > > Where do you see it? Right in the first paragraph of io_ordering.txt, and then further demonstrated by the examples provided ("In the case above, the device may receive newval2 before it receives newval, which could cause problems."). > I interpret that two writeX() need to be observed in order with respect > to each other without requiring an explicit barrier. Same goes for reads. Nope, only if `readX' is in between. Likewise see memory-barriers.txt throughout concerning `mmiowb' (which is an obviously lighter weight barrier compared to `readX'). Maciej