[openib-general] basic IB doubt

Jason Gunthorpe jgunthorpe at obsidianresearch.com
Fri Aug 25 10:35:20 PDT 2006


On Fri, Aug 25, 2006 at 09:33:31AM -0700, Roland Dreier wrote:
>     Thomas> How does an adapter guarantee that no bridges or other
>     Thomas> intervening devices reorder their writes, or for that
>     Thomas> matter flush them to memory at all!?
 
> That's a good point.  The HCA would have to do a read to flush the
> posted writes, and I'm sure it's not doing that (since it would add
> horrible latency for no good reason).

PCI (-X and -E) have strict transaction ordering rules, writes may not
be re-ordered, and two ordered writes to the same address have defined
semantics. One thing that is absolutely assured in a PCI system
is that if write B follows write A and the CPU observes B's data
then all of A must be visible to the CPU.

What I don't recall being assured is if all the data in a single
transaction has some defined order that it must be become visible to
the CPU..

This is why CQ's don't have a problem, seeing the new CQ entry, or the
MSI, is enough to ensure everything is visible to the CPU.

So, at the worst case, all a HCA would have to do is put the last
dword in a seperate transaction..

Jason




More information about the general mailing list