[openib-general] basic IB doubt

Greg Lindahl greg.lindahl at qlogic.com
Fri Aug 25 11:55:55 PDT 2006


On Fri, Aug 25, 2006 at 10:00:50AM -0400, Thomas Bachman wrote:

> Not that I have any stance on this issue, but is this is the text in the
> spec that is being debated? 
> 
> (page 269, section 9.5, Transaction Ordering):
> "An application shall not depend upon the order of data writes to
> memory within a message. For example, if an application sets up
> data buffers that overlap, for separate data segments within a
> message, it is not guaranteed that the last sent data will always
> overwrite the earlier."

No. The case we're talking about is different from the example.
There's text elsewhere which says, basically, that you can't access
the data buffer until seeing the completion.

> I'm assuming that the spec authors had reason for putting this in there, so
> maybe they could provide guidance here?

I can't speak for the authors, but as an implementor, this has a huge
impact on implementation.

For example, on an architecture where you need to do work such as
flushing the cache before accessing DMAed data, that's done in the
completion. x86 in general is not such an architecture, but they
exist. IB is intended to be portable to any CPU architecture.

For iWarp, the issue is that packets are frequently reordered.

-- greg





More information about the general mailing list