[ofa-general] Re: [PATCH] Request For Comments:
Steve Wise
swise at opengridcomputing.com
Wed May 7 17:16:34 PDT 2008
Sean Hefty wrote:
>>> > nes - requires 0b write
>>> > cxgb3 - requires 0b read
>>> > amso1100 - won't work in p2p mode
>
> I'm assuming by requires that you, uhm, mean requires, and nes couldn't do 0b
> reads, or cxgb3 0b writes.
>
Well, I'm not sure about nes. But cxgb3 cannot deal with receiving a 0B
write for the RTR because the FW doesn't see incoming writes, nor does
the driver.
nes may be able to request a 0b read, but I what I meant was they
currently use a 0B write and not a read.
So its possible to reduce the complexity if we just mandate 0B read for
RTR. But it makes sense in my mind to allow the other message types...
>> Its is painful. But without anything, you cannot run OMPI, IMPI or
>> HPMPI on a iwarp cluster with mixed vendor rnics...
>
> Is there any requirement at the receiving side, versus the initiating side?
> That is, just because nes issues a 0b write, does the receiving HW care if a
> read or write shows up? Or is this restriction on both sides?
>
The requirement is mostly driven from the receiving side. For cxgb3 it
is anyway...
The receiving side, ie the side that issues the rdma_accept will tell
the sending side what RTR message to send, if any. So the MPA exchange
will look like this:
client sends MPA Start request with private data saying "i can send an
RTR if you want it".
server moves connection into RDMA mode
server sends MPA Start response with "lets do RTR and send me X" where
X could be 0B write, 0B read request or 0B send.
client moves connection into RDMA mode
client sends X and then enables SQ processing (or indicate ESTABLISHED)
Once server gets X it can enable SQ processing (or indicate ESTABLISHED)
If X was a 0B read request, server sends 0B read response.
Steve
More information about the general
mailing list