[ofa-general] [PATCH] uDAPL v2: dapltest changes to support multi endpoints in any order

Davis, Arlin R arlin.r.davis at intel.com
Sun Apr 19 01:06:00 PDT 2009


dapltest assumes that events across multiple endpoints occur in a specific
order.  Since this is a false assumption, avoid this by directing events to
per endpoint EVDs, rather than using shared EVDs.

Signed-off-by: Sean Hefty <sean.hefty at intel.com>
---
 test/dapltest/include/dapl_proto.h            |    4 -
 test/dapltest/include/dapl_transaction_test.h |    8 +-
 test/dapltest/test/dapl_transaction_test.c    |  264 +++++++++++--------------
 test/dapltest/test/dapl_transaction_util.c    |   12 +-
 4 files changed, 121 insertions(+), 167 deletions(-)

diff --git a/test/dapltest/include/dapl_proto.h b/test/dapltest/include/dapl_proto.h
index d8be354..fb5a293 100644
--- a/test/dapltest/include/dapl_proto.h
+++ b/test/dapltest/include/dapl_proto.h
@@ -504,15 +504,12 @@ bool            DT_handle_post_recv_buf (DT_Tdep_Print_Head* phead,

 bool            DT_handle_send_op (DT_Tdep_Print_Head* phead,
                                        Ep_Context_t * ep_context,
-                                       DAT_EVD_HANDLE reqt_evd_hdl,
                                        unsigned int num_eps,
                                        int op_indx,
                                        bool poll);

 bool            DT_handle_recv_op (DT_Tdep_Print_Head* phead,
                                        Ep_Context_t * ep_context,
-                                       DAT_EVD_HANDLE recv_evd_hdl,
-                                       DAT_EVD_HANDLE reqt_evd_hdl,
                                        unsigned int num_eps,
                                        int op_indx,
                                        bool poll,
@@ -520,7 +517,6 @@ bool            DT_handle_recv_op (DT_Tdep_Print_Head* phead,

 bool            DT_handle_rdma_op (DT_Tdep_Print_Head* phead,
                                        Ep_Context_t * ep_context,
-                                       DAT_EVD_HANDLE reqt_evd_hdl,
                                        unsigned int num_eps,
                                        DT_Transfer_Type opcode,
                                        int op_indx,
diff --git a/test/dapltest/include/dapl_transaction_test.h b/test/dapltest/include/dapl_transaction_test.h
index 3e1a8e7..7401cdf 100644
--- a/test/dapltest/include/dapl_transaction_test.h
+++ b/test/dapltest/include/dapl_transaction_test.h
@@ -59,6 +59,10 @@ typedef struct
     Transaction_Test_Op_t   op[ MAX_OPS ];
     DAT_RSP_HANDLE          rsp_handle;
     DAT_PSP_HANDLE          psp_handle;
+    DAT_EVD_HANDLE          recv_evd_hdl;   /* receive     */
+    DAT_EVD_HANDLE          reqt_evd_hdl;   /* request+rmr  */
+    DAT_EVD_HANDLE          conn_evd_hdl;   /* connect     */
+    DAT_EVD_HANDLE          creq_evd_hdl;   /* "" request   */

 } Ep_Context_t;

@@ -88,10 +92,6 @@ typedef struct

     /* This group set up by each thread in DT_Transaction_Main() */
     DAT_PZ_HANDLE           pz_handle;
-    DAT_EVD_HANDLE          recv_evd_hdl;   /* receive     */
-    DAT_EVD_HANDLE          reqt_evd_hdl;   /* request+rmr  */
-    DAT_EVD_HANDLE          conn_evd_hdl;   /* connect     */
-    DAT_EVD_HANDLE          creq_evd_hdl;   /* "" request   */
     Ep_Context_t            *ep_context;

     /* Statistics set by DT_Transaction_Run() */
diff --git a/test/dapltest/test/dapl_transaction_test.c b/test/dapltest/test/dapl_transaction_test.c
index 4abda1e..1c01456 100644
--- a/test/dapltest/test/dapl_transaction_test.c
+++ b/test/dapltest/test/dapl_transaction_test.c
@@ -273,63 +273,6 @@ DT_Transaction_Main (void *param)
        goto test_failure;
     }

-    /* create 4 EVDs - recv, request+RMR, conn-request, connect */
-    ret = DT_Tdep_evd_create (test_ptr->ia_handle,
-                             test_ptr->evd_length,
-                             NULL,
-                             DAT_EVD_DTO_FLAG,
-                             &test_ptr->recv_evd_hdl);  /* recv */
-    if (ret != DAT_SUCCESS)
-    {
-       DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_create (recv) error: %s\n",
-                   test_ptr->base_port, DT_RetToString (ret));
-       test_ptr->recv_evd_hdl = DAT_HANDLE_NULL;
-       goto test_failure;
-    }
-
-    ret = DT_Tdep_evd_create (test_ptr->ia_handle,
-                             test_ptr->evd_length,
-                             NULL,
-                             DAT_EVD_DTO_FLAG | DAT_EVD_RMR_BIND_FLAG,
-                             &test_ptr->reqt_evd_hdl);  /* request + rmr bind */
-    if (ret != DAT_SUCCESS)
-    {
-       DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_create (request) error: %s\n",
-                   test_ptr->base_port, DT_RetToString (ret));
-       test_ptr->reqt_evd_hdl = DAT_HANDLE_NULL;
-       goto test_failure;
-    }
-
-    if (pt_ptr->local_is_server)
-    {
-       /* Client-side doesn't need CR events */
-       ret = DT_Tdep_evd_create (test_ptr->ia_handle,
-                                 test_ptr->evd_length,
-                                 NULL,
-                                 DAT_EVD_CR_FLAG,
-                                 &test_ptr->creq_evd_hdl);  /* cr */
-       if (ret != DAT_SUCCESS)
-       {
-           DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_create (cr) error: %s\n",
-                       test_ptr->base_port, DT_RetToString (ret));
-           test_ptr->creq_evd_hdl = DAT_HANDLE_NULL;
-           goto test_failure;
-       }
-    }
-
-    ret = DT_Tdep_evd_create (test_ptr->ia_handle,
-                             test_ptr->evd_length,
-                             NULL,
-                             DAT_EVD_CONNECTION_FLAG,
-                             &test_ptr->conn_evd_hdl);  /* conn */
-    if (ret != DAT_SUCCESS)
-    {
-       DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_create (conn) error: %s\n",
-                   test_ptr->base_port, DT_RetToString (ret));
-       test_ptr->conn_evd_hdl = DAT_HANDLE_NULL;
-       goto test_failure;
-    }
-
     /* Allocate per-EP data */
     test_ptr->ep_context = (Ep_Context_t *)
                            DT_MemListAlloc (pt_ptr,
@@ -359,6 +302,55 @@ DT_Transaction_Main (void *param)
        DAT_EP_ATTR         ep_attr;
        DAT_UINT32          buff_size  =  MAX_OPS * sizeof (RemoteMemoryInfo);

+       /* create 4 EVDs - recv, request+RMR, conn-request, connect */
+       ret = DT_Tdep_evd_create(test_ptr->ia_handle, test_ptr->evd_length,
+                                NULL, DAT_EVD_DTO_FLAG,
+                                &test_ptr->ep_context[i].recv_evd_hdl);
+       if (ret != DAT_SUCCESS)
+       {
+               DT_Tdep_PT_Printf(phead, "Test[" F64x "]: dat_evd_create (recv) error: %s\n",
+                           test_ptr->base_port, DT_RetToString (ret));
+               test_ptr->ep_context[i].recv_evd_hdl = DAT_HANDLE_NULL;
+               goto test_failure;
+       }
+
+       ret = DT_Tdep_evd_create(test_ptr->ia_handle, test_ptr->evd_length,
+                                NULL, DAT_EVD_DTO_FLAG | DAT_EVD_RMR_BIND_FLAG,
+                                &test_ptr->ep_context[i].reqt_evd_hdl);
+       if (ret != DAT_SUCCESS)
+       {
+               DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_create (request) error: %s\n",
+                           test_ptr->base_port, DT_RetToString (ret));
+               test_ptr->ep_context[i].reqt_evd_hdl = DAT_HANDLE_NULL;
+               goto test_failure;
+       }
+
+       if (pt_ptr->local_is_server)
+       {
+               /* Client-side doesn't need CR events */
+               ret = DT_Tdep_evd_create(test_ptr->ia_handle, test_ptr->evd_length,
+                                        NULL, DAT_EVD_CR_FLAG,
+                                        &test_ptr->ep_context[i].creq_evd_hdl);
+               if (ret != DAT_SUCCESS)
+               {
+                       DT_Tdep_PT_Printf(phead, "Test[" F64x "]: dat_evd_create (cr) error: %s\n",
+                               test_ptr->base_port, DT_RetToString (ret));
+                       test_ptr->ep_context[i].creq_evd_hdl = DAT_HANDLE_NULL;
+                       goto test_failure;
+               }
+       }
+
+       ret = DT_Tdep_evd_create(test_ptr->ia_handle, test_ptr->evd_length,
+                                NULL, DAT_EVD_CONNECTION_FLAG,
+                                &test_ptr->ep_context[i].conn_evd_hdl);
+       if (ret != DAT_SUCCESS)
+       {
+               DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_create (conn) error: %s\n",
+                           test_ptr->base_port, DT_RetToString (ret));
+               test_ptr->ep_context[i].conn_evd_hdl = DAT_HANDLE_NULL;
+               goto test_failure;
+       }
+
        /*
         * Adjust default EP attributes to fit the requested test.
         * This is simplistic; in that we don't count ops of each
@@ -379,9 +371,9 @@ DT_Transaction_Main (void *param)
        /* Create EP */
        ret = dat_ep_create (test_ptr->ia_handle,    /* IA       */
                            test_ptr->pz_handle,    /* PZ       */
-                           test_ptr->recv_evd_hdl, /* recv     */
-                           test_ptr->reqt_evd_hdl, /* request  */
-                           test_ptr->conn_evd_hdl, /* connect  */
+                           test_ptr->ep_context[i].recv_evd_hdl, /* recv     */
+                           test_ptr->ep_context[i].reqt_evd_hdl, /* request  */
+                           test_ptr->ep_context[i].conn_evd_hdl, /* connect  */
                            &ep_attr,               /* EP attrs */
                            &test_ptr->ep_context[i].ep_handle);
        if (ret != DAT_SUCCESS)
@@ -470,7 +462,7 @@ DT_Transaction_Main (void *param)
                ret = dat_rsp_create (test_ptr->ia_handle,
                                     test_ptr->ep_context[i].ia_port,
                                     test_ptr->ep_context[i].ep_handle,
-                                    test_ptr->creq_evd_hdl,
+                                    test_ptr->ep_context[i].creq_evd_hdl,
                                        &test_ptr->ep_context[i].rsp_handle);
                if (ret != DAT_SUCCESS)
                {
@@ -483,7 +475,7 @@ DT_Transaction_Main (void *param)
            {
                ret = dat_psp_create (test_ptr->ia_handle,
                                      test_ptr->ep_context[i].ia_port,
-                                     test_ptr->creq_evd_hdl,
+                                     test_ptr->ep_context[i].creq_evd_hdl,
                                      DAT_PSP_CONSUMER_FLAG,
                                      &test_ptr->ep_context[i].psp_handle);
                if (ret != DAT_SUCCESS)
@@ -520,7 +512,7 @@ DT_Transaction_Main (void *param)

        DT_Mdep_Unlock (&pt_ptr->Thread_counter_lock);
     }
-
+
     for (i = 0;  i < test_ptr->cmd->eps_per_thread;  i++)
     {
        DAT_UINT32          buff_size  =  MAX_OPS * sizeof (RemoteMemoryInfo);
@@ -542,7 +534,7 @@ DT_Transaction_Main (void *param)

                /* wait for the connection request */
                if (!DT_cr_event_wait (phead,
-                                      test_ptr->creq_evd_hdl,
+                                      test_ptr->ep_context[i].creq_evd_hdl,
                                       &cr_stat) ||
                    !DT_cr_check ( phead,
                                   &cr_stat,
@@ -593,7 +585,7 @@ DT_Transaction_Main (void *param)
                /* wait for DAT_CONNECTION_EVENT_ESTABLISHED */
                if (!DT_conn_event_wait (  phead,
                                           test_ptr->ep_context[i].ep_handle,
-                                          test_ptr->conn_evd_hdl,
+                                          test_ptr->ep_context[i].conn_evd_hdl,
                                           &event_num))
                {
                    /* error message printed by DT_conn_event_wait */
@@ -616,14 +608,13 @@ DT_Transaction_Main (void *param)
                 */
                /* wait for a connection request */
                if (!DT_cr_event_wait (phead,
-                                      test_ptr->creq_evd_hdl,
+                                      test_ptr->ep_context[i].creq_evd_hdl,
                                       &cr_stat) )
                {
                    DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_psp_create #%d error: %s\n",
                                test_ptr->base_port, i, DT_RetToString (ret));
                    goto test_failure;
                }
-
                if (  !DT_cr_check ( phead,
                                   &cr_stat,
                                     test_ptr->ep_context[i].psp_handle,
@@ -675,7 +666,7 @@ DT_Transaction_Main (void *param)
                /* wait for DAT_CONNECTION_EVENT_ESTABLISHED */
                if (!DT_conn_event_wait (  phead,
                                            test_ptr->ep_context[i].ep_handle,
-                                           test_ptr->conn_evd_hdl,
+                                           test_ptr->ep_context[i].conn_evd_hdl,
                                           &event_num))
                {
                    /* error message printed by DT_cr_event_wait */
@@ -732,7 +723,7 @@ retry:
            /* wait for DAT_CONNECTION_EVENT_ESTABLISHED */
            if (!DT_conn_event_wait (  phead,
                                       test_ptr->ep_context[i].ep_handle,
-                                      test_ptr->conn_evd_hdl,
+                                      test_ptr->ep_context[i].conn_evd_hdl,
                                       &event_num))
            {
                /* error message printed by DT_cr_event_wait */
@@ -750,7 +741,7 @@ retry:
                        dat_ep_reset (test_ptr->ep_context[i].ep_handle);
                        do
                        {
-                           ret = DT_Tdep_evd_dequeue ( test_ptr->recv_evd_hdl,
+                           ret = DT_Tdep_evd_dequeue ( test_ptr->ep_context[i].recv_evd_hdl,
                                                    &event);
                            drained++;
                        } while (DAT_GET_TYPE(ret) != DAT_QUEUE_EMPTY);
@@ -845,7 +836,7 @@ retry:
                                   test_ptr->ia_handle,
                                   test_ptr->pz_handle,
                                   test_ptr->ep_context[i].ep_handle,
-                                  test_ptr->reqt_evd_hdl,
+                                  test_ptr->ep_context[i].reqt_evd_hdl,
                                   test_ptr->ep_context[i].op[j].seg_size,
                                   test_ptr->ep_context[i].op[j].num_segs,
                                   DAT_OPTIMAL_ALIGNMENT,
@@ -881,7 +872,7 @@ retry:
                                   test_ptr->ia_handle,
                                   test_ptr->pz_handle,
                                   test_ptr->ep_context[i].ep_handle,
-                                  test_ptr->reqt_evd_hdl,
+                                  test_ptr->ep_context[i].reqt_evd_hdl,
                                   test_ptr->ep_context[i].op[j].seg_size,
                                   test_ptr->ep_context[i].op[j].num_segs,
                                   DAT_OPTIMAL_ALIGNMENT,
@@ -1000,7 +991,7 @@ retry:
                (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) ||
+           if (!DT_dto_event_wait (phead, test_ptr->ep_context[i].reqt_evd_hdl, &dto_stat) ||
                !DT_dto_check ( phead,
                            &dto_stat,
                            test_ptr->ep_context[i].ep_handle,
@@ -1024,7 +1015,7 @@ retry:
            (DAT_PVOID) DT_Bpool_GetBuffer (
                test_ptr->ep_context[i].bp,
                RMI_RECV_BUFFER_ID);
-       if (!DT_dto_event_wait (phead, test_ptr->recv_evd_hdl, &dto_stat) ||
+       if (!DT_dto_event_wait (phead, test_ptr->ep_context[i].recv_evd_hdl, &dto_stat) ||
            !DT_dto_check ( phead,
                            &dto_stat,
                            test_ptr->ep_context[i].ep_handle,
@@ -1053,7 +1044,7 @@ retry:
                (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) ||
+           if (!DT_dto_event_wait (phead, test_ptr->ep_context[i].reqt_evd_hdl, &dto_stat) ||
                !DT_dto_check ( phead,
                            &dto_stat,
                            test_ptr->ep_context[i].ep_handle,
@@ -1183,33 +1174,14 @@ test_failure:
            if ( success ) /* Ensure DT_Transaction_Run did not return error otherwise may get stuck waiting for disconnect event*/
            {
                if (!DT_disco_event_wait ( phead,
-                                          test_ptr->conn_evd_hdl,
+                                          test_ptr->ep_context[i].conn_evd_hdl,
                                                    &ep_handle))
                {
                    DT_Tdep_PT_Printf (phead, "Test[" F64x "]: bad disconnect event\n",
                                    test_ptr->base_port);
                }
-               else
-               {
-                   /*
-                    * We have successfully obtained a completed EP. We are
-                    * racing with the remote node on disconnects, so we
-                    * don't know which EP this is. Run the list and
-                    * remove it so we don't disconnect a disconnected EP
-                    */
-                   for (j = 0;  j < test_ptr->cmd->eps_per_thread;  j++)
-                   {
-                       if ( test_ptr->ep_context[j].ep_handle == ep_handle )
-                       {
-                           test_ptr->ep_context[j].ep_handle = NULL;
-                   }
-                    }
-               }
-           }
-           else /* !success - QP may be in error state */
-           {
-               ep_handle =  test_ptr->ep_context[i].ep_handle;
            }
+           ep_handle =  test_ptr->ep_context[i].ep_handle;

            /*
             * Free the handle returned by the disconnect event.
@@ -1226,7 +1198,7 @@ test_failure:
                 */
                do
                {
-                   ret = DT_Tdep_evd_dequeue ( test_ptr->recv_evd_hdl,
+                   ret = DT_Tdep_evd_dequeue ( test_ptr->ep_context[i].recv_evd_hdl,
                                           &event);
                } while (ret == DAT_SUCCESS);
                /* Destroy the EP */
@@ -1238,56 +1210,51 @@ test_failure:
                    /* carry on trying, regardless */
                }
            }
+           /* clean up the EVDs */
+           if (test_ptr->ep_context[i].conn_evd_hdl)
+           {
+               ret = DT_Tdep_evd_free (test_ptr->ep_context[i].conn_evd_hdl);
+               if (ret != DAT_SUCCESS)
+               {
+                       DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_free (conn) error: %s\n",
+                               test_ptr->base_port, DT_RetToString (ret));
+               }
+           }
+           if (pt_ptr->local_is_server)
+           {
+               if (test_ptr->ep_context[i].creq_evd_hdl)
+               {
+                       ret = DT_Tdep_evd_free (test_ptr->ep_context[i].creq_evd_hdl);
+                       if (ret != DAT_SUCCESS)
+                       {
+                               DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_free (creq) error: %s\n",
+                                       test_ptr->base_port, DT_RetToString (ret));
+                       }
+               }
+           }
+           if (test_ptr->ep_context[i].reqt_evd_hdl)
+           {
+               ret = DT_Tdep_evd_free (test_ptr->ep_context[i].reqt_evd_hdl);
+               if (ret != DAT_SUCCESS)
+               {
+                       DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_free (reqt) error: %s\n",
+                               test_ptr->base_port, DT_RetToString (ret));
+               }
+           }
+           if (test_ptr->ep_context[i].recv_evd_hdl)
+           {
+               ret = DT_Tdep_evd_free (test_ptr->ep_context[i].recv_evd_hdl);
+               if (ret != DAT_SUCCESS)
+               {
+                       DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_free (recv) error: %s\n",
+                               test_ptr->base_port, DT_RetToString (ret));
+               }
+           }
        }   /* end foreach per-EP context */

        DT_MemListFree (pt_ptr, test_ptr->ep_context);
     }

-    /* clean up the EVDs */
-    if (test_ptr->conn_evd_hdl)
-    {
-       ret = DT_Tdep_evd_free (test_ptr->conn_evd_hdl);
-       if (ret != DAT_SUCCESS)
-       {
-           DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_free (conn) error: %s\n",
-                       test_ptr->base_port, DT_RetToString (ret));
-           /* fall through, keep trying */
-       }
-    }
-    if (pt_ptr->local_is_server)
-    {
-       if (test_ptr->creq_evd_hdl)
-       {
-           ret = DT_Tdep_evd_free (test_ptr->creq_evd_hdl);
-           if (ret != DAT_SUCCESS)
-           {
-               DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_free (creq) error: %s\n",
-                           test_ptr->base_port, DT_RetToString (ret));
-               /* fall through, keep trying */
-           }
-       }
-    }
-    if (test_ptr->reqt_evd_hdl)
-    {
-       ret = DT_Tdep_evd_free (test_ptr->reqt_evd_hdl);
-       if (ret != DAT_SUCCESS)
-       {
-           DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_free (reqt) error: %s\n",
-                       test_ptr->base_port, DT_RetToString (ret));
-           /* fall through, keep trying */
-       }
-    }
-    if (test_ptr->recv_evd_hdl)
-    {
-       ret = DT_Tdep_evd_free (test_ptr->recv_evd_hdl);
-       if (ret != DAT_SUCCESS)
-       {
-           DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_evd_free (recv) error: %s\n",
-                       test_ptr->base_port, DT_RetToString (ret));
-           /* fall through, keep trying */
-       }
-    }
-
     /* clean up the PZ */
     if (test_ptr->pz_handle)
     {
@@ -1399,7 +1366,7 @@ DT_Transaction_Run (DT_Tdep_Print_Head *phead, Transaction_Test_t * test_ptr)
            DAT_DTO_COMPLETION_EVENT_DATA dto_stat;

            if ( !DT_dto_event_wait (phead,
-                                    test_ptr->reqt_evd_hdl,
+                                    test_ptr->ep_context[i].reqt_evd_hdl,
                                     &dto_stat) )
            {
                DT_Tdep_PT_Debug (1,(phead,"Test[" F64x "]: Server sync send error\n",
@@ -1416,7 +1383,7 @@ DT_Transaction_Run (DT_Tdep_Print_Head *phead, Transaction_Test_t * test_ptr)
            DAT_DTO_COMPLETION_EVENT_DATA dto_stat;

            if ( !DT_dto_event_wait (phead,
-                                    test_ptr->recv_evd_hdl,
+                                    test_ptr->ep_context[i].recv_evd_hdl,
                                     &dto_stat) )
            {
                DT_Tdep_PT_Debug (1,(phead,"Test[" F64x "]: Server sync recv error\n",
@@ -1437,7 +1404,7 @@ DT_Transaction_Run (DT_Tdep_Print_Head *phead, Transaction_Test_t * test_ptr)
            DAT_DTO_COMPLETION_EVENT_DATA dto_stat;

            if ( !DT_dto_event_wait (phead,
-                                    test_ptr->recv_evd_hdl,
+                                    test_ptr->ep_context[i].recv_evd_hdl,
                                     &dto_stat) )
            {
                DT_Tdep_PT_Debug (1,(phead,"Test[" F64x "]: Client sync recv error\n",
@@ -1474,7 +1441,7 @@ DT_Transaction_Run (DT_Tdep_Print_Head *phead, Transaction_Test_t * test_ptr)
            DAT_DTO_COMPLETION_EVENT_DATA dto_stat;

            if ( !DT_dto_event_wait (phead,
-                                    test_ptr->reqt_evd_hdl,
+                                    test_ptr->ep_context[i].reqt_evd_hdl,
                                     &dto_stat) )
            {
                goto bail;
@@ -1518,7 +1485,6 @@ DT_Transaction_Run (DT_Tdep_Print_Head *phead, Transaction_Test_t * test_ptr)
                                    op));
                        if (!DT_handle_rdma_op (phead,
                                             test_ptr->ep_context,
-                                            test_ptr->reqt_evd_hdl,
                                             test_ptr->cmd->eps_per_thread,
                                             RDMA_READ,
                                             op,
@@ -1542,7 +1508,6 @@ DT_Transaction_Run (DT_Tdep_Print_Head *phead, Transaction_Test_t * test_ptr)
                                    op));
                        if (!DT_handle_rdma_op (phead,
                                             test_ptr->ep_context,
-                                            test_ptr->reqt_evd_hdl,
                                             test_ptr->cmd->eps_per_thread,
                                             RDMA_WRITE,
                                             op,
@@ -1566,7 +1531,6 @@ DT_Transaction_Run (DT_Tdep_Print_Head *phead, Transaction_Test_t * test_ptr)
                        /* send data */
                        if (!DT_handle_send_op (phead,
                                                test_ptr->ep_context,
-                                             test_ptr->reqt_evd_hdl,
                                              test_ptr->cmd->eps_per_thread,
                                              op,
                                              test_ptr->cmd->poll))
@@ -1582,8 +1546,6 @@ DT_Transaction_Run (DT_Tdep_Print_Head *phead, Transaction_Test_t * test_ptr)

                        if (!DT_handle_recv_op (phead,
                                              test_ptr->ep_context,
-                                             test_ptr->recv_evd_hdl,
-                                             test_ptr->reqt_evd_hdl,
                                              test_ptr->cmd->eps_per_thread,
                                              op,
                                              test_ptr->cmd->poll,
diff --git a/test/dapltest/test/dapl_transaction_util.c b/test/dapltest/test/dapl_transaction_util.c
index 970aa8c..93312c7 100644
--- a/test/dapltest/test/dapl_transaction_util.c
+++ b/test/dapltest/test/dapl_transaction_util.c
@@ -87,7 +87,6 @@ DT_handle_post_recv_buf (DT_Tdep_Print_Head *phead,
 bool
 DT_handle_send_op (DT_Tdep_Print_Head *phead,
                  Ep_Context_t * ep_context,
-                 DAT_EVD_HANDLE reqt_evd_hdl,
                  unsigned int num_eps,
                  int op_indx,
                  bool poll)
@@ -161,7 +160,7 @@ DT_handle_send_op (DT_Tdep_Print_Head *phead,
        DAT_DTO_COOKIE dto_cookie;
        unsigned int epnum;

-       if (!DT_dto_event_reap (phead, reqt_evd_hdl, poll, &dto_stat))
+       if (!DT_dto_event_reap (phead, ep_context[i].reqt_evd_hdl, poll, &dto_stat))
        {
            DT_Mdep_Free (completion_reaped);
            return false;
@@ -235,8 +234,6 @@ DT_handle_send_op (DT_Tdep_Print_Head *phead,
 bool
 DT_handle_recv_op (DT_Tdep_Print_Head *phead,
                  Ep_Context_t * ep_context,
-                 DAT_EVD_HANDLE recv_evd_hdl,
-                 DAT_EVD_HANDLE reqt_evd_hdl,
                  unsigned int num_eps,
                  int op_indx,
                  bool poll,
@@ -270,7 +267,7 @@ DT_handle_recv_op (DT_Tdep_Print_Head *phead,
        unsigned int epnum;

        /* First reap the recv DTO event */
-       if (!DT_dto_event_reap (phead, recv_evd_hdl, poll, &dto_stat))
+       if (!DT_dto_event_reap (phead, ep_context[i].recv_evd_hdl, poll, &dto_stat))
        {
            DT_Mdep_Free (recv_completion_reaped);
            DT_Mdep_Free (send_completion_reaped);
@@ -340,7 +337,7 @@ DT_handle_recv_op (DT_Tdep_Print_Head *phead,
                return false;
            }

-           if (!DT_dto_event_reap (phead, reqt_evd_hdl, poll, &dto_stat))
+           if (!DT_dto_event_reap (phead, ep_context[i].reqt_evd_hdl, poll, &dto_stat))
            {
                DT_Mdep_Free (recv_completion_reaped);
                DT_Mdep_Free (send_completion_reaped);
@@ -463,7 +460,6 @@ DT_handle_recv_op (DT_Tdep_Print_Head *phead,
 bool
 DT_handle_rdma_op (DT_Tdep_Print_Head *phead,
                  Ep_Context_t * ep_context,
-                 DAT_EVD_HANDLE reqt_evd_hdl,
                  unsigned int num_eps,
                  DT_Transfer_Type opcode,
                  int op_indx,
@@ -561,7 +557,7 @@ DT_handle_rdma_op (DT_Tdep_Print_Head *phead,
        DAT_DTO_COOKIE dto_cookie;
        unsigned int epnum;

-       if (!DT_dto_event_reap (phead, reqt_evd_hdl, poll, &dto_stat))
+       if (!DT_dto_event_reap (phead, ep_context[i].reqt_evd_hdl, poll, &dto_stat))
        {
            DT_Mdep_Free (completion_reaped);
            return ( false );
--
1.5.2.5




More information about the general mailing list