[openib-general] Re: [PATCH] [RFC] dapltest change for iwarp
Steve Wise
swise at opengridcomputing.com
Tue May 2 12:32:05 PDT 2006
> Steve,
>
> Thanks for pointing me to the MPA spec. requirement. At this time, I
> don't see a way around this. Although I like the idea of transparently
> satisfying this requirement as part of the iWARP CMs connection
> establishment, that doesn't appear to be viable or standard.
>
> Any objections to using this compressed version of your patch?
No objections.
> I
> updated the comment to explain the flow control and used the
> same portion of code for both the client and server's receive.
>
Do the other dapltest programs need this too? Like the perf tests and
limit tests? I have only run the transaction tests over cxgb3...
> test/dapltest/test/dapl_transaction_test.c
> ===================================================================
> --- test/dapltest/test/dapl_transaction_test.c (revision 6735)
> +++ test/dapltest/test/dapl_transaction_test.c (working copy)
> @@ -972,38 +972,42 @@ retry:
> } /* end foreach op */
>
> /*
> - * Send our memory info (synchronously)
> + * Send our memory info. The client performs the first send to comply
> + * with the iWARP MPA protocol's "Connection Startup Rules".
> */
> DT_Tdep_PT_Debug (1,(phead,"Test[" F64x "]: Sending %s Memory Info\n",
> test_ptr->base_port,
> test_ptr->is_server ? "Server" : "Client"));
>
> - /* post the send buffer */
> - if (!DT_post_send_buffer (phead,
> + if (!test_ptr->is_server ) {
> +
> + /* post the send buffer */
> + if (!DT_post_send_buffer (phead,
> test_ptr->ep_context[i].ep_handle,
> test_ptr->ep_context[i].bp,
> RMI_SEND_BUFFER_ID,
> buff_size))
> - {
> - /* error message printed by DT_post_send_buffer */
> - goto test_failure;
> - }
> - /* reap the send and verify it */
> - dto_cookie.as_64 = LZERO;
> - dto_cookie.as_ptr =
> - (DAT_PVOID) DT_Bpool_GetBuffer (
> - test_ptr->ep_context[i].bp,
> - RMI_SEND_BUFFER_ID);
> - if (!DT_dto_event_wait (phead, test_ptr->reqt_evd_hdl, &dto_stat) ||
> - !DT_dto_check ( phead,
> + {
> + /* error message printed by DT_post_send_buffer */
> + goto test_failure;
> + }
> + /* reap the send and verify it */
> + dto_cookie.as_64 = LZERO;
> + dto_cookie.as_ptr =
> + (DAT_PVOID) DT_Bpool_GetBuffer (
> + test_ptr->ep_context[i].bp,
> + RMI_SEND_BUFFER_ID);
> + if (!DT_dto_event_wait (phead, test_ptr->reqt_evd_hdl, &dto_stat) ||
> + !DT_dto_check ( phead,
> &dto_stat,
> test_ptr->ep_context[i].ep_handle,
> buff_size,
> dto_cookie,
> test_ptr->is_server ? "Client_Mem_Info_Send"
> : "Server_Mem_Info_Send"))
> - {
> - goto test_failure;
> + {
> + goto test_failure;
> + }
> }
>
> /*
> @@ -1029,6 +1033,36 @@ retry:
> goto test_failure;
> }
>
> + if (test_ptr->is_server ) {
> + /* post the send buffer */
> + if (!DT_post_send_buffer (phead,
> + test_ptr->ep_context[i].ep_handle,
> + test_ptr->ep_context[i].bp,
> + RMI_SEND_BUFFER_ID,
> + buff_size))
> + {
> + /* error message printed by DT_post_send_buffer */
> + goto test_failure;
> + }
> + /* reap the send and verify it */
> + dto_cookie.as_64 = LZERO;
> + dto_cookie.as_ptr =
> + (DAT_PVOID) DT_Bpool_GetBuffer (
> + test_ptr->ep_context[i].bp,
> + RMI_SEND_BUFFER_ID);
> + if (!DT_dto_event_wait (phead, test_ptr->reqt_evd_hdl, &dto_stat) ||
> + !DT_dto_check ( phead,
> + &dto_stat,
> + test_ptr->ep_context[i].ep_handle,
> + buff_size,
> + dto_cookie,
> + test_ptr->is_server ? "Client_Mem_Info_Send"
> + : "Server_Mem_Info_Send"))
> + {
> + goto test_failure;
> + }
> + }
> +
> /*
> * Extract what we need
> */
More information about the general
mailing list