On Tue, May 22, 2012 at 08:56:12AM +1000, Benjamin Herrenschmidt wrote: > On Tue, 2012-05-22 at 01:22 +0300, Michael S. Tsirkin wrote: > > > Again, from which originator ? From a given initiator, nothing > > bypasses > > > anything, so the right thing to do here is a full mb(). However, I > > > suspect what you are talking about here is read -responses- not > > > bypassing writes in the direction of the response (ie, the > > "flushing" > > > semantic of reads) which is a different matter. > > > > No. My spec says: > > A3, A4 > > A Posted Request must be able to pass Non-Posted Requests to avoid > > deadlocks. > > Right, a read + write can become write + read at the target, I forgot > about that, or you can deadlock due to the flush semantics, but a write > + read must remain in order or am I missing something ?
Exactly. > And write + read afaik is typically the one that x86 can re-order > without a barrier isn't it ? AFAIK without a barrier, x86 can reorder them however you initiate them. -- MST