RE: [PATCH rdma-next 0/3] Support out of order data placement

Steve Wise
2017-06-12T20:57:29Z

> > > When transmitter and receiver is enabled to do so, as I described in
> > overview section of Documentation, it helps
> > > (a) to avoid retransmission - improves network utilization
> > > (b) reduces latency due to timers not kicking in.
> >
> > Yes those benefits are clear. I see no reason why it shouldn't always
> > be
> > done is my point. Application shouldn't have to care and there is no
> > need to make this an additional flag.
>
> The app cares when data from write 2 can be written at the target before data
> from write 1, especially if the writes target the same memory buffers. (At least I
> think this is the intent of exposing this to the app.)
>
> Note that the provider can always provide stronger ordering than what the app
> needs.

My understanding is that IB or IW apps should never assume ingress write or read response data is _placed_ into local memory in the order it was transmitted from the peer. The only guarantee is that the _indication_ of the arrived data preserve the sender's ordering. However, I'm thinking that there are applications out there that spin polling local memory that is the target of a write or read response and assume the last bit of that memory will get written last...