[ewg] RE: [ofa-general] how do I use uDAPL with iWARP?
Steve Wise
swise at opengridcomputing.com
Thu Apr 3 10:48:11 PDT 2008
Guys,
I think this is the same iWARP issue that has been biting me for a
while: The client must send the first RDMA message. The dtest app is a
peer-2-peer (p2p) application where both sides send immediately after
setting up the connection. So dtest doesn't adhere to the iWARP
specification (I know: the iWARP spec is broken :).
News: I have some prototype FW from chelsio that supports p2p setup and
with that FW and my associated iw_cxgb3 driver/library changes, then
dtest seems to work fine. These changes will be published upstream soon
in order to support Open MPI and other p2p applications for chelsio.
For this initial release of p2p support over chelsio, the functionality
will be 100% handled in the iw_cxgb3 driver and fw. This is similar to
what iw_nes does today with its send_first module option to send a 0B
write from the client and defer connection establishment on the server
until the 0B write is received. Chelsio will have a similar module
option called peer2peer (or I could make it the same option name:
send_first) that will use a 0B read to force the client to send first
(chelsio cannot use a 0B write for this). The chelsio FW will defer the
ESTABLISHED event until the 0B read is received and responded to.
The final proper device-independent solution to this will be done in the
rdma-cma, the iwarp core and iwarp devices for upstream inclusion as
well as for ofed-1.4. Its a much bigger change and will affect the ABI
for the rdma_cm probably (app can request p2p behavior). There was a
thread a while back driven by Arkady at NetApp with details on how we
will implement this (using a small protocol in mpa start req/rep to
negotiate this p2p mode). Stay tuned for more on this.
Steve.
Steve Wise wrote:
> I can reproduce this. Lemme dig into it...
>
> Steve.
>
>
> Scott Weitzenkamp (sweitzen) wrote:
>> Steve,
>>
>> Thanks, that gets further, but dtest still fails.
>>
>> Client side:
>>
>> [releng at svbu-qa2950-2 ~]$ DAPL_MAX_INLINE=64 dtest -h 192.168.0.198
>> 13926 Running as client - OpenIB-cma
>> 13926 Server Name: 192.168.0.198
>> 13926 Server Net Address: 192.168.0.198
>> 13926 Waiting for connect response
>> 13926 Error unexpected conn event : DAT_CONNECTION_EVENT_UNREACHABLE
>> 13926 Error connect_ep: DAT_ABORT
>>
>> 13926: DAPL Test Complete.
>>
>> 13926: Message RTT: Total= 0.00 usec, 10 bursts, itime= 0.00
>> usec, pc=
>> 0
>> 13926: RDMA write: Total= 0.00 usec, 10 bursts, itime= 0.00
>> usec, pc=
>> 0
>> 13926: RDMA read: Total= 0.00 usec, 4 bursts, itime= 0.00
>> usec, pc
>> =0
>> 13926: RDMA read: Total= 0.00 usec, 4 bursts, itime= 0.00
>> usec, pc
>> =0
>> 13926: RDMA read: Total= 0.00 usec, 4 bursts, itime= 0.00
>> usec, pc
>> =0
>> 13926: RDMA read: Total= 0.00 usec, 4 bursts, itime= 0.00
>> usec, pc
>> =0
>> 13926: open: 36619.19 usec
>> 13926: close: 32500.98 usec
>> 13926: PZ create: 7.87 usec
>> 13926: PZ free: 4.05 usec
>> 13926: LMR create: 58.89 usec
>> 13926: LMR free: 11.92 usec
>> 13926: EVD create: 9.78 usec
>> 13926: EVD free: 14.07 usec
>> 13926: EP create: 78.92 usec
>> 13926: EP free: 26.23 usec
>> 13926: TOTAL: 199.79 usec
>>
>> Server side:
>>
>> [releng at svbu-qa2950-1 ~]$ DAPL_MAX_INLINE=64 dtest
>> 11461 Running as server - OpenIB-cma
>> 11461 Server waiting for connect request..
>> 11461 Waiting for connect response
>>
>> 11461 CONNECTED!
>>
>> 11461 Send RMR to remote: snd_msg:
>> r_key_ctx=bff,pad=0,va=146db580,len=0x40
>> 11461 Waiting for remote to send RMR data
>> 11461 Error waiting on h_dto_rcv_evd: DAT_TIMEOUT_EXPIRED
>> 11461 Error connect_ep: DAT_TIMEOUT_EXPIRED
>>
>> 11461: DAPL Test Complete.
>>
>> 11461: Message RTT: Total= 0.00 usec, 10 bursts, itime= 0.00
>> usec, pc=
>> 0
>> 11461: RDMA write: Total= 0.00 usec, 10 bursts, itime= 0.00
>> usec, pc=
>> 0
>> 11461: RDMA read: Total= 0.00 usec, 4 bursts, itime= 0.00
>> usec, pc
>> =0
>> 11461: RDMA read: Total= 0.00 usec, 4 bursts, itime= 0.00
>> usec, pc
>> =0
>> 11461: RDMA read: Total= 0.00 usec, 4 bursts, itime= 0.00
>> usec, pc
>> =0
>> 11461: RDMA read: Total= 0.00 usec, 4 bursts, itime= 0.00
>> usec, pc
>> =0
>> 11461: open: 900676.01 usec
>> 11461: close: 31543.97 usec
>> 11461: PZ create: 7.87 usec
>> 11461: PZ free: 5.01 usec
>> 11461: LMR create: 51.98 usec
>> 11461: LMR free: 12.16 usec
>> 11461: EVD create: 10.97 usec
>> 11461: EVD free: 12.87 usec
>> 11461: EP create: 77.01 usec
>> 11461: EP free: 30.04 usec
>> 11461: TOTAL: 195.03 usec
>>
>> Scott
>>
>>
>>
>>> -----Original Message-----
>>> From: Steve Wise [mailto:swise at opengridcomputing.com] Sent: Thursday,
>>> April 03, 2008 9:19 AM
>>> To: Scott Weitzenkamp (sweitzen)
>>> Cc: Joshua Bernstein; OpenFabrics EWG; [ofa_general]
>>> Subject: Re: [ewg] RE: [ofa-general] how do I use uDAPL with iWARP?
>>>
>>>
>>>
>>> Scott Weitzenkamp (sweitzen) wrote:
>>>> I tried that, and it didn't work:
>>>>
>>>> [root at svbu-qa2950-1 ~]# grep eth /etc/dat.conf
>>>> OpenIB-cma u1.2 nonthreadsafe default libdaplcma.so.1
>>> dapl.1.2 "eth2 0"
>>>> ""
>>>> [root at svbu-qa2950-1 ~]# dtest
>>>> 10194 Running as server - OpenIB-cma
>>>> 10194 Error dat_ep_create: DAT_INVALID_HANDLE
>>>> 10194 Error freeing EP: DAT_INVALID_HANDLE DAT_INVALID_HANDLE_EP
>>>>
>>> try setting DAPL_MAX_INLINE=64
>>>
>>>
> _______________________________________________
> ewg mailing list
> ewg at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
More information about the ewg
mailing list