]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
[DAPL2] v2
authorstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 5 Oct 2007 17:03:09 +0000 (17:03 +0000)
committerstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Fri, 5 Oct 2007 17:03:09 +0000 (17:03 +0000)
  white-space cleanup
  DAT extensions enabled by default.

git-svn-id: svn://openib.tc.cornell.edu/gen1@844 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

17 files changed:
trunk/ulp/dapl2/dapl/common/dapl_cookie.c
trunk/ulp/dapl2/dapl/common/dapl_debug.c
trunk/ulp/dapl2/dapl/common/dapl_evd_util.c
trunk/ulp/dapl2/dapl/ibal/dapl_ibal_dto.h
trunk/ulp/dapl2/dapl/ibal/dapl_ibal_extensions.c
trunk/ulp/dapl2/dapl/ibal/dapl_ibal_util.h
trunk/ulp/dapl2/dapl/include/dapl_debug.h
trunk/ulp/dapl2/dapl/udapl/SOURCES
trunk/ulp/dapl2/dat/include/dat/dat.h
trunk/ulp/dapl2/dat/include/dat/dat_ib_extensions.h
trunk/ulp/dapl2/dat/udat/udat_exports.src
trunk/ulp/dapl2/test/dapltest/SOURCES
trunk/ulp/dapl2/test/dapltest/dapltest.rc
trunk/ulp/dapl2/test/dapltest/scripts/dt-cli.bat
trunk/ulp/dapl2/test/dirs
trunk/ulp/dapl2/test/dtest/SOURCES
trunk/ulp/dapl2/test/dtest/dtest.rc

index 781918768e439067516c5de9fa852f7c3aac3676..2b69cc9b94d6810290f1d81ee47411c76da48097 100644 (file)
@@ -183,6 +183,7 @@ dapls_cb_free (
     if ( NULL != buffer->pool )\r
     {\r
         dapl_os_free (buffer->pool, buffer->pool_size * sizeof (DAPL_COOKIE));\r
+           buffer->pool = NULL;\r
     }\r
 }\r
 \r
@@ -224,7 +225,6 @@ dapls_cb_get (
     else\r
     {\r
         dapl_os_atomic_set (&buffer->head, new_head);\r
-\r
        *cookie_ptr = &buffer->pool[dapl_os_atomic_read (&buffer->head)];\r
        dat_status = DAT_SUCCESS;\r
     }\r
@@ -256,7 +256,6 @@ dapls_cb_put (
     IN  DAPL_COOKIE            *cookie )\r
 {\r
     dapl_os_atomic_set (&buffer->tail, cookie->index);\r
-\r
     return DAT_SUCCESS;\r
 }\r
 \r
index 73f30ccd1d7b62956ee05fb4ad50f8b05155f991..a587dce91d199f7f58e3ae2870ed36e7e9376d1a 100644 (file)
@@ -86,6 +86,7 @@ char  *dapl_dbg_counter_names[] = {
        "dapl_evd_not_found",\r
        "dapls_timer_set",\r
        "dapls_timer_cancel",\r
+       "dapl_extensions"\r
 };\r
 \r
 void dapl_dump_cntr( int cntr )\r
index 66d99ab6da28d45d867becd0498877ce7a9e70e8..f628fd0a678998392408485831879acff7b80216 100644 (file)
@@ -557,6 +557,25 @@ dapli_evd_eh_print_cqe (
     IN         ib_work_completion_t    *cqe_ptr)\r
 {\r
 #ifdef DAPL_DBG\r
+#if defined(_MSC_VER) || defined(_WIN32) || defined(_WIN64)\r
+    static char *optable[] =\r
+    {\r
+       "PAD0",\r
+       "OP_SEND",\r
+       "OP_RDMA_WRITE",\r
+       "OP_RDMA_READ",\r
+       "OP_COMP_AND_SWAP", // 4\r
+       "OP_FETCH_AND_ADD", // 5\r
+       "OP_RECEIVE_RDMA_WRITE",\r
+       "PAD1",\r
+       "OP_RECEIVE",   // (8)\r
+       "OP_BIND_MW",\r
+       "OP_RDMA_WRITE_IMM",\r
+       "OP_SEND_IMM",\r
+       "OP_RECEIVE_IMM",\r
+       0\r
+    };\r
+#else\r
     static char *optable[] =\r
     {\r
        "OP_RDMA_WRITE",\r
@@ -571,6 +590,7 @@ dapli_evd_eh_print_cqe (
        "OP_BIND_MW",\r
        0\r
     };\r
+#endif\r
 \r
     dapl_dbg_log (DAPL_DBG_TYPE_CALLBACK,\r
                  "\t >>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<\n");\r
@@ -1090,25 +1110,24 @@ dapli_evd_cqe_to_event (
 #ifdef DAT_EXTENSIONS\r
            /* Extended via request post or message receive */\r
            if ((cookie->val.dto.type == DAPL_DTO_TYPE_EXTENSION) ||\r
-               (cookie->val.dto.type == DAPL_DTO_TYPE_RECV && \r
-               DAPL_GET_CQE_OPTYPE(cqe_ptr) !=  OP_RECEIVE))\r
+                   (cookie->val.dto.type == DAPL_DTO_TYPE_RECV && \r
+                   DAPL_GET_CQE_OPTYPE(cqe_ptr) !=  OP_RECEIVE))\r
            {\r
-               dapls_cqe_to_event_extension(ep_ptr, cookie, \r
-                                            cqe_ptr, event_ptr);\r
-               dapls_cookie_dealloc (&ep_ptr->req_buffer, cookie);\r
-               break;\r
+                   dapls_cqe_to_event_extension (ep_ptr, cookie, cqe_ptr, event_ptr);\r
+                   dapls_cookie_dealloc (&ep_ptr->req_buffer, cookie);\r
+                   break;\r
            }\r
 #endif\r
 \r
            if ( DAPL_DTO_TYPE_RECV == cookie->val.dto.type )\r
            {\r
-               dapl_os_atomic_dec (&ep_ptr->recv_count);\r
-               buffer = &ep_ptr->recv_buffer;\r
+                   dapl_os_atomic_dec (&ep_ptr->recv_count);\r
+                   buffer = &ep_ptr->recv_buffer;\r
            }\r
            else\r
            {\r
-               dapl_os_atomic_dec (&ep_ptr->req_count);\r
-               buffer = &ep_ptr->req_buffer;\r
+                   dapl_os_atomic_dec (&ep_ptr->req_count);\r
+                   buffer = &ep_ptr->req_buffer;\r
            }\r
 \r
            event_ptr->event_number = DAT_DTO_COMPLETION_EVENT;\r
@@ -1121,14 +1140,14 @@ dapli_evd_cqe_to_event (
            if ( cookie->val.dto.type == DAPL_DTO_TYPE_SEND ||\r
                 cookie->val.dto.type == DAPL_DTO_TYPE_RDMA_WRITE )\r
            {\r
-               /* Get size from DTO; CQE value may be off.  */\r
-               event_ptr->event_data.dto_completion_event_data.transfered_length =\r
-                   cookie->val.dto.size;\r
+                   /* Get size from DTO; CQE value may be off.  */\r
+                   event_ptr->event_data.dto_completion_event_data.transfered_length =\r
+                       cookie->val.dto.size;\r
            }\r
            else\r
            {\r
-               event_ptr->event_data.dto_completion_event_data.transfered_length =\r
-                   DAPL_GET_CQE_BYTESNUM (cqe_ptr);\r
+                   event_ptr->event_data.dto_completion_event_data.transfered_length =\r
+                       DAPL_GET_CQE_BYTESNUM (cqe_ptr);\r
            }\r
 \r
            dapls_cookie_dealloc (buffer, cookie);\r
@@ -1147,19 +1166,19 @@ dapli_evd_cqe_to_event (
                cookie->val.rmr.cookie;\r
            if (dto_status == DAT_DTO_SUCCESS)\r
            {\r
-               event_ptr->event_data.rmr_completion_event_data.status =\r
-                   DAT_RMR_BIND_SUCCESS;\r
-               dapl_os_assert ((DAPL_GET_CQE_OPTYPE (cqe_ptr)) == OP_BIND_MW);\r
+                   event_ptr->event_data.rmr_completion_event_data.status =\r
+                       DAT_RMR_BIND_SUCCESS;\r
+                   dapl_os_assert ((DAPL_GET_CQE_OPTYPE (cqe_ptr)) == OP_BIND_MW);\r
            }\r
            else\r
            {\r
-               dapl_dbg_log (DAPL_DBG_TYPE_DTO_COMP_ERR,\r
+                   dapl_dbg_log (DAPL_DBG_TYPE_DTO_COMP_ERR,\r
                              " MW bind completion ERROR: %d: op %#x ep: %p\n", \r
                              dto_status, \r
                              DAPL_GET_CQE_OPTYPE (cqe_ptr), ep_ptr);\r
-               event_ptr->event_data.rmr_completion_event_data.status =\r
-                   DAT_RMR_OPERATION_FAILED;\r
-               dapl_os_atomic_dec(&cookie->val.rmr.rmr->lmr->lmr_ref_count);\r
+                   event_ptr->event_data.rmr_completion_event_data.status =\r
+                       DAT_RMR_OPERATION_FAILED;\r
+                   dapl_os_atomic_dec(&cookie->val.rmr.rmr->lmr->lmr_ref_count);\r
            }\r
 \r
            dapls_cookie_dealloc (&ep_ptr->req_buffer, cookie);\r
@@ -1275,8 +1294,7 @@ dapls_evd_copy_cq (
         * will overwrite.\r
         */\r
 \r
-       event = dapli_evd_get_and_init_event (\r
-               evd_ptr, DAT_DTO_COMPLETION_EVENT );\r
+       event = dapli_evd_get_and_init_event (evd_ptr,DAT_DTO_COMPLETION_EVENT);\r
        if (event == NULL)\r
        {\r
            /* We've already attempted the overflow post; return.  */\r
index 270a7f234c92c093631fe5a4755f10906199c822..da903d83f159324d87669b508fd4c131e9773a9e 100644 (file)
@@ -54,9 +54,6 @@
 #include <dat/dat_ib_extensions.h>\r
 #endif\r
 \r
-//STATIC _INLINE_ int\r
-//dapls_cqe_opcode_convert (ib_work_completion_t *cqe_p);\r
-\r
 extern DAT_RETURN\r
 dapls_ib_cq_late_alloc (\r
        IN  ib_pd_handle_t      pd_handle,\r
@@ -311,7 +308,8 @@ dapls_ib_optional_prv_dat (
        {\r
                cr_ptr->param.private_data_size = sizeof(cr_ptr->private_data);\r
                cr_ptr->param.private_data = cr_ptr->private_data;\r
-               dapl_os_memcpy(cr_ptr->private_data, p_prv_data->private_data, cr_ptr->param.private_data_size );\r
+               dapl_os_memcpy( cr_ptr->private_data,\r
+                               p_prv_data->private_data,                                                       cr_ptr->param.private_data_size );\r
                *cr_pp = (DAPL_CR *)cr_ptr->param.private_data;\r
        }\r
     return dat_status;\r
@@ -324,39 +322,36 @@ dapls_cqe_opcode_convert (ib_work_completion_t *cqe_p)
     switch (((ib_work_completion_t *)cqe_p)->wc_type)\r
     {\r
         case IB_WC_SEND:\r
-        {\r
             return (OP_SEND);\r
-        }\r
+\r
         case IB_WC_RDMA_WRITE:\r
-        case IB_WC_RECV_RDMA_WRITE:\r
-        {\r
+            if (cqe_p->recv.conn.immediate_data & IB_RECV_OPT_IMMEDIATE)\r
+                return (OP_RDMA_WRITE_IMM);\r
             return (OP_RDMA_WRITE);\r
-        }\r
+\r
+        case IB_WC_RECV:       \r
+            if (cqe_p->recv.conn.immediate_data & IB_RECV_OPT_IMMEDIATE)\r
+                return (OP_RECEIVE_IMM);\r
+            return (OP_RECEIVE);\r
+\r
         case IB_WC_RDMA_READ:\r
-        {\r
             return (OP_RDMA_READ);\r
-        }\r
-        case IB_WC_COMPARE_SWAP:\r
-        {\r
-            return (OP_COMP_AND_SWAP);\r
-        }\r
-        case IB_WC_FETCH_ADD:\r
-        {\r
-            return (OP_FETCH_AND_ADD);\r
-        }\r
+\r
         case IB_WC_MW_BIND:\r
-        {\r
             return (OP_BIND_MW);\r
-        }\r
-        case IB_WC_RECV:       \r
-        {\r
-            return (OP_RECEIVE);\r
-        }\r
+\r
+        case IB_WC_FETCH_ADD:\r
+            return (OP_FETCH_AND_ADD);\r
+\r
+        case IB_WC_COMPARE_SWAP:\r
+            return (OP_COMP_AND_SWAP);\r
+\r
+        case IB_WC_RECV_RDMA_WRITE:\r
+            return (OP_RECEIVE); // XXX?\r
+\r
         default :      \r
-        {\r
            /* error */ \r
             return (IB_ERROR);\r
-        }\r
     }\r
 }\r
 \r
@@ -368,22 +363,28 @@ STATIC _INLINE_ DAT_DTOS dapls_cqe_dtos_opcode(ib_work_completion_t *cqe_p)
 \r
        case IB_WC_SEND:\r
                return (DAT_DTO_SEND);\r
+\r
        case IB_WC_MW_BIND:\r
                return (DAT_DTO_BIND_MW);\r
+\r
 #ifdef DAT_EXTENSIONS\r
        case IB_WC_RDMA_WRITE:\r
-        case IB_WC_RECV_RDMA_WRITE:\r
                if (cqe_p->recv.conn.immediate_data & IB_RECV_OPT_IMMEDIATE)\r
                        return (DAT_IB_DTO_RDMA_WRITE_IMMED);\r
                else\r
                        return (DAT_DTO_RDMA_WRITE);\r
+\r
        case IB_WC_COMPARE_SWAP:\r
                return (DAT_IB_DTO_CMP_SWAP);\r
+\r
        case IB_WC_FETCH_ADD:\r
                return (DAT_IB_DTO_FETCH_ADD);\r
+\r
         case IB_WC_RDMA_READ:\r
                return (DAT_DTO_RDMA_READ);\r
+\r
        case IB_WC_RECV:\r
+        case IB_WC_RECV_RDMA_WRITE:\r
                if (cqe_p->recv.conn.immediate_data & IB_RECV_OPT_IMMEDIATE)\r
                        return (DAT_IB_DTO_RECV_IMMED);\r
                else\r
@@ -391,16 +392,23 @@ STATIC _INLINE_ DAT_DTOS dapls_cqe_dtos_opcode(ib_work_completion_t *cqe_p)
 #else\r
         case IB_WC_RDMA_READ:\r
                return (DAT_DTO_RDMA_READ);\r
+\r
        case IB_WC_RDMA_WRITE:\r
         case IB_WC_RECV_RDMA_WRITE:\r
                return (DAT_DTO_RDMA_WRITE);\r
+\r
        case IB_WC_RECV:\r
                return (DAT_DTO_RECEIVE);\r
 #endif\r
        default:\r
+#ifdef DAPL_DBG\r
+               dapl_dbg_log(DAPL_DBG_TYPE_ERR, "%s() Unknown IB_WC_TYPE %d?\n",\r
+                               __FUNCTION__, cqe_p->wc_type);\r
+#endif\r
                return (0xff);\r
     }\r
 }\r
+\r
 #define DAPL_GET_CQE_DTOS_OPTYPE(cqe_p) dapls_cqe_dtos_opcode(cqe_p)\r
 \r
 #define DAPL_GET_CQE_WRID(cqe_p) ((ib_work_completion_t *)cqe_p)->wr_id\r
@@ -437,8 +445,8 @@ dapls_ib_post_ext_send (
        DAT_COUNT i, total_len;\r
        \r
        dapl_dbg_log(DAPL_DBG_TYPE_EP,\r
-                    " post_snd: ep %p op %d ck %p sgs",\r
-                    "%d l_iov %p r_iov %p f %d\n",\r
+                    "  post_ext_send: ep %p op %d ck %p numSegs %d\n"\r
+                    "    loc_iov %p rem_iov %p flgs %d\n",\r
                     ep_ptr, op_type, cookie, num_segs, local_iov, \r
                     remote_iov, completion_flags);\r
 \r
@@ -448,7 +456,13 @@ dapls_ib_post_ext_send (
                ds_array_p = dapl_os_alloc(num_segs*sizeof(ib_data_segment_t));\r
 \r
        if (NULL == ds_array_p)\r
+       {\r
+#ifdef DAPL_DBG\r
+               dapl_dbg_log(DAPL_DBG_TYPE_ERR,"  %s() os_alloc(%d) failed?\n",\r
+                            __FUNCTION__,(num_segs*sizeof(ib_data_segment_t)));\r
+#endif\r
                return (DAT_INSUFFICIENT_RESOURCES);\r
+       }\r
        \r
        /* setup the work request */\r
        dapl_os_memzero (&wr, sizeof(ib_send_wr_t));\r
@@ -481,24 +495,31 @@ dapls_ib_post_ext_send (
 \r
        switch (op_type) {\r
 \r
-         case WR_RDMA_WRITE:\r
+         case OP_RDMA_WRITE_IMM:\r
+               wr.immediate_data = immed_data;\r
+               wr.send_opt |= IB_SEND_OPT_IMMEDIATE;\r
+               /* fall thru */\r
+         case OP_RDMA_WRITE:\r
+               wr.wr_type = WR_RDMA_WRITE;\r
+\r
                if ( immed_data == 0 )\r
                        break;\r
+\r
                dapl_dbg_log(DAPL_DBG_TYPE_EP, \r
-                            " post_ext: rkey 0x%x va %#016Lx immed=0x%x\n",\r
+                            " post_ext: OP_RDMA_WRITE_IMM rkey 0x%x va "\r
+                            "%#016Lx immed=0x%x\n",\r
                             remote_iov->rmr_context, \r
                             remote_iov->virtual_address, immed_data);\r
 \r
-               wr.immediate_data = immed_data;\r
-               wr.send_opt |= IB_SEND_OPT_IMMEDIATE;\r
                wr.remote_ops.vaddr = remote_iov->virtual_address;\r
                wr.remote_ops.rkey = remote_iov->rmr_context;\r
                break;\r
 \r
-         case WR_COMPARE_SWAP:\r
+         case OP_COMP_AND_SWAP:\r
+               wr.wr_type = WR_COMPARE_SWAP;\r
                dapl_dbg_log(DAPL_DBG_TYPE_EP, \r
-                            " post_ext: OP_COMP_AND_SWAP=%lx,"\r
-                            "%lx rkey 0x%x va %#016Lx\n",\r
+                            " post_ext: OP_COMP_AND_SWAP=%llx,%llx rkey 0x%x "\r
+                            "va %#016Lx\n",\r
                             compare_add, swap, remote_iov->rmr_context,\r
                             remote_iov->virtual_address);\r
                \r
@@ -508,7 +529,8 @@ dapls_ib_post_ext_send (
                wr.remote_ops.atomic2 = swap;\r
                break;\r
 \r
-         case WR_FETCH_ADD:\r
+         case OP_FETCH_AND_ADD:\r
+               wr.wr_type = WR_FETCH_ADD;\r
                dapl_dbg_log(DAPL_DBG_TYPE_EP, \r
                             " post_ext: OP_FETCH_AND_ADD=%lx,"\r
                             "%lx rkey 0x%x va %#016Lx\n",\r
@@ -517,6 +539,7 @@ dapls_ib_post_ext_send (
 \r
                wr.remote_ops.vaddr = remote_iov->virtual_address;\r
                wr.remote_ops.rkey = remote_iov->rmr_context;\r
+               wr.remote_ops.atomic1 = compare_add;\r
                break;\r
 \r
          default:\r
@@ -532,7 +555,7 @@ dapls_ib_post_ext_send (
                                completion_flags) ? IB_SEND_OPT_SOLICITED : 0;\r
 \r
        dapl_dbg_log(DAPL_DBG_TYPE_EP, \r
-                    " post_snd: op 0x%x flags 0x%x sglist %p, %d\n", \r
+                    " post_snd1: op 0x%x flags 0x%x sglist %p, %d\n", \r
                     wr.wr_type, wr.send_opt, wr.ds_array, wr.num_ds);\r
 \r
        ib_status = ib_post_send(ep_ptr->qp_handle, &wr, &bad_wr);\r
index d1351f5ad77030eb71d1b5c7ef44a3eaa68fa08a..5fe28327d9546c0e1a69ae0821fb3c73c45073e6 100644 (file)
@@ -43,7 +43,6 @@
 #include "dapl_cookie.h"\r
 #include <stdarg.h>\r
 \r
-\r
 DAT_RETURN\r
 dapli_post_ext( IN       DAT_EP_HANDLE         ep_handle,\r
                IN       DAT_UINT64             cmp_add,        \r
@@ -177,10 +176,11 @@ dapli_post_ext( IN       DAT_EP_HANDLE            ep_handle,
        DAT_RETURN      dat_status = DAT_SUCCESS;\r
 \r
        dapl_dbg_log(DAPL_DBG_TYPE_API,\r
-                    " post_ext_op: ep %p cmp_val %d "\r
-                    "swap_val %d cookie 0x%x, r_iov %p, flags 0x%x\n",\r
+                    "--> post_ext_op: ep %p cmp_val %x swap_val %x cookie "\r
+                    "0x%x\n    r_iov %p, flags 0x%x op %d segs %d\n",\r
                     ep_handle, (unsigned)cmp_add, (unsigned)swap, \r
-                    (unsigned)user_cookie.as_64, remote_iov, flags);\r
+                    (unsigned)user_cookie.as_64, remote_iov, flags, op_type,\r
+                    segments);\r
 \r
        if (DAPL_BAD_HANDLE(ep_handle, DAPL_MAGIC_EP))\r
                return(DAT_ERROR(DAT_INVALID_HANDLE, DAT_INVALID_HANDLE_EP));\r
@@ -212,9 +212,6 @@ dapli_post_ext( IN       DAT_EP_HANDLE              ep_handle,
                 * completions\r
                 */\r
                dapl_os_atomic_inc(&ep_ptr->req_count);\r
-dapl_dbg_log (DAPL_DBG_TYPE_CM, "--> %s() EP %lx req_count %d\n",__FUNCTION__,\r
-                  ep_ptr, dapl_os_atomic_read(&ep_ptr->req_count));\r
\r
        }\r
 \r
        /*\r
@@ -231,10 +228,17 @@ dapl_dbg_log (DAPL_DBG_TYPE_CM, "--> %s() EP %lx req_count %d\n",__FUNCTION__,
                                            swap,       /* swap */\r
                                            flags);\r
 \r
-       if (dat_status != DAT_SUCCESS) {\r
-               if ( cookie != NULL ) {\r
+       if (dat_status != DAT_SUCCESS)\r
+       {\r
+               if ( cookie != NULL )\r
+               {\r
                        dapl_os_atomic_dec(&ep_ptr->req_count);\r
                        dapls_cookie_dealloc(&ep_ptr->req_buffer, cookie);\r
+#ifdef DAPL_DBG\r
+                       dapl_dbg_log(DAPL_DBG_TYPE_ERR,\r
+                                       "%s() post_ex_send err %d @ line %d\n",\r
+                                       __FUNCTION__,dat_status,__LINE__);\r
+#endif\r
                }\r
        }\r
 \r
index 02a84d52ae8a76ca7df874a03aebdb6ec3a52fb5..8859b9910dc84c5061a33f204e5dd9928098dcd0 100644 (file)
 #include <dat\dat_ib_extensions.h>\r
 #endif\r
 \r
-STATIC _INLINE_ DAT_RETURN \r
-dapl_ib_status_convert (\r
-    IN     int32_t     ib_status);\r
-\r
 /*\r
  * Typedefs to map IBAL types to more generic 'ib' types\r
  */\r
@@ -175,10 +171,10 @@ typedef struct _dapl_ibal_evd_cb
 #define    OP_COMP_AND_SWAP   WR_COMPARE_SWAP\r
 #define    OP_FETCH_AND_ADD   WR_FETCH_ADD\r
 \r
-#define    OP_RECEIVE         6 /* no-equip */\r
-#define    OP_BIND_MW         7 /* no-equip */\r
-#define    OP_RDMA_WRITE_IMM  8 /* no-equip */\r
-#define    OP_RECEIVE_IMM     9 /* no-equip */\r
+#define    OP_RECEIVE         8                /* (8)  */\r
+#define    OP_BIND_MW         9                /* no-equivalent */\r
+#define    OP_RDMA_WRITE_IMM  10       /* RDMA_WRITE+Immediate data */\r
+#define    OP_RECEIVE_IMM     11       /* no-equivalent */\r
 \r
 /*\r
  * Definitions to map QP state\r
@@ -194,9 +190,11 @@ typedef struct _dapl_ibal_evd_cb
 /*\r
  * Definitions to map Memory OPs\r
  */\r
-#define IB_ACCESS_LOCAL_WRITE    IB_AC_LOCAL_WRITE\r
-#define IB_ACCESS_REMOTE_READ   IB_AC_RDMA_READ\r
-#define IB_ACCESS_REMOTE_WRITE  IB_AC_RDMA_WRITE\r
+#define IB_ACCESS_LOCAL_WRITE      IB_AC_LOCAL_WRITE\r
+#define IB_ACCESS_REMOTE_READ      IB_AC_RDMA_READ\r
+#define IB_ACCESS_REMOTE_WRITE     IB_AC_RDMA_WRITE\r
+#define IB_ACCESS_REMOTE_ATOMIC    IB_AC_ATOMIC\r
+#define IB_ACCESS_MEM_WINDOW_BIND  IB_AC_MW_BIND\r
 \r
 /*\r
  * CQE status \r
@@ -445,12 +443,11 @@ dapli_find_evd_cb_by_context(
     IN    dapl_ibal_ca_t *ca);\r
 \r
 extern IB_HCA_NAME\r
-dapl_ib_convert_name(\r
-    IN  char    *name);\r
+dapl_ib_convert_name(IN  char    *name);\r
 \r
 \r
 STATIC _INLINE_ int32_t\r
-dapl_lmr_convert_privileges ( IN   DAT_MEM_PRIV_FLAGS   privileges )\r
+dapl_lmr_convert_privileges (IN  DAT_MEM_PRIV_FLAGS  privileges )\r
 {\r
     int32_t value = 0;\r
 \r
@@ -473,6 +470,10 @@ dapl_lmr_convert_privileges ( IN   DAT_MEM_PRIV_FLAGS   privileges )
     {\r
        value |= IB_ACCESS_REMOTE_WRITE;\r
     }\r
+#ifdef DAT_EXTENSIONS\r
+    if (DAT_IB_MEM_PRIV_REMOTE_ATOMIC & privileges) \r
+        value |= IB_ACCESS_REMOTE_ATOMIC;\r
+#endif\r
     return value;\r
 }\r
 \r
@@ -480,7 +481,7 @@ dapl_lmr_convert_privileges ( IN   DAT_MEM_PRIV_FLAGS   privileges )
 STATIC _INLINE_ int32_t\r
 dapl_rmr_convert_privileges ( IN  DAT_MEM_PRIV_FLAGS   privileges )\r
 {\r
-    int32_t value = 0;\r
+    int32_t value = IB_ACCESS_MEM_WINDOW_BIND;/* see dapls_ib_mw_bind() */ \r
 \r
     if (DAT_MEM_PRIV_REMOTE_READ_FLAG & privileges)\r
     {\r
@@ -491,6 +492,13 @@ dapl_rmr_convert_privileges ( IN  DAT_MEM_PRIV_FLAGS   privileges )
     {\r
        value |= IB_ACCESS_REMOTE_WRITE;\r
     }\r
+#ifdef DAPL_DBG\r
+    if (value == IB_ACCESS_MEM_WINDOW_BIND)\r
+    {\r
+       dapl_dbg_log(DAPL_DBG_TYPE_ERR,"%s() Unknown DAT_MEM_PRIV_ 0x%x\n",\r
+                     __FUNCTION__,privileges);\r
+    }\r
+#endif\r
 \r
     return value;\r
 }\r
index 57bab60ff2f42cfe1bc7d4be3e57a5ef0850fbc0..b096fdb4736bbb287da8c0b6ef983c3d6bc39e00 100644 (file)
@@ -121,7 +121,8 @@ static __inline void dapl_dbg_log ( DAPL_DBG_TYPE type,  const char *fmt,  ...)
 #define DCNT_EVD_DEQUEUE_NOT_FOUND     18\r
 #define DCNT_TIMER_SET                 19\r
 #define DCNT_TIMER_CANCEL              20\r
-#define DCNT_NUM_COUNTERS              21\r
+#define DCNT_EXTENSION                 21\r
+#define DCNT_NUM_COUNTERS              22\r
 #define DCNT_ALL_COUNTERS               DCNT_NUM_COUNTERS\r
 \r
 #if defined(DAPL_COUNTERS)\r
index 257e7a536fade5ad21e51fa26a2346bccb00c689..6e5e429010f53fb9f867c7f2301627d6090f4da9 100644 (file)
@@ -38,7 +38,7 @@ DAPL_OPTS= $(DAPL_OPTS) -DDAT_EXTENSIONS=1
 \r
 USER_C_FLAGS=$(USER_C_FLAGS) $(DAPL_OPTS)\r
 !if !$(FREEBUILD)\r
-USER_C_FLAGS=$(USER_C_FLAGS) -DDAPL_DBG\r
+USER_C_FLAGS=$(USER_C_FLAGS) -DDAPL_DBG #-DDAPL_COUNTERS\r
 !endif\r
 \r
 TARGETLIBS= \\r
index cdd5df4eeec9e38321e775addc1d7ea07a107c84..c6455a020c565bba96a029f3b902522a1a555252 100644 (file)
@@ -225,7 +225,7 @@ typedef enum dat_evd_flags
     DAT_EVD_DEFAULT_FLAG             = 0x1F0\r
 #ifdef DAT_EXTENSIONS\r
 /* To be used by DAT extensions as a starting point for extended evd flags */\r
-    ,DAT_EVD_EXTENSION_BASE            = 0x200\r
+    ,DAT_EVD_EXTENSION_BASE         = 0x200\r
 #endif /* DAT_EXTENSIONS */\r
 } DAT_EVD_FLAGS;\r
 \r
@@ -325,7 +325,7 @@ typedef enum dat_mem_priv_flags
 #ifdef DAT_EXTENSIONS\r
 /* To be used by DAT extensions as a starting\r
        point of extension memory privileges */\r
-    ,DAT_MEM_PRIV_EXTENSION_BASE       = 0x40\r
+    ,DAT_MEM_PRIV_EXTENSION_BASE     = 0x40\r
 #endif /* DAT_EXTENSIONS */\r
 \r
 } DAT_MEM_PRIV_FLAGS;\r
index b94c5ce873232907600fb08a5165cd1f0a185a9d..1f63cb4bccf1130240ac58e598691b9368ce9d78 100644 (file)
@@ -296,7 +296,7 @@ dat_strerror_ext_status (
  * Other extension flags:\r
  *     n/a\r
  */\r
-#define dat_ib_post_rdma_write_immed(ep, size, lbuf, cookie, rbuf, idata, flgs) \\r
+#define dat_ib_post_rdma_write_immed(ep, size, lbuf, cookie, rbuf, idata, flgs)\\r
             dat_extension_op(  ep, \\r
                                DAT_IB_RDMA_WRITE_IMMED_OP, \\r
                                (size), \\r
index cb54201180e8844ae040391af1ec1e065ca2aee1..0a68ff69a474fc6ddf85486ebecd5711dc4dc9c5 100644 (file)
@@ -50,4 +50,7 @@ dat_rsp_create
 dat_rsp_free\r
 dat_rsp_query\r
 dat_strerror\r
+#ifdef DAT_EXTENSIONS\r
+dat_extension_op\r
+#endif\r
 \r
index c986bc7275a66a200078d44e024fc15d591690ce..abe37922bbf20209095baaa88f05647b49cd37e1 100644 (file)
@@ -1,4 +1,8 @@
+!if $(FREEBUILD)\r
 TARGETNAME=dapl2test\r
+!else\r
+TARGETNAME=dapl2testd\r
+!endif\r
 TARGETPATH=..\..\..\..\bin\user\obj$(BUILD_ALT_DIR)\r
 TARGETTYPE=PROGRAM\r
 UMTYPE=console\r
index c12cea30b6b8245e12fcf9ddc2898282c9931082..f41ac8b05466c2a930986b254705906f2f78ef7b 100644 (file)
 \r
 #if DBG\r
 #define VER_FILEDESCRIPTION_STR                "DAPL/DAT[2.0] test Application (Debug)"\r
+#define VER_INTERNALNAME_STR           "dapl2testd.exe"\r
+#define VER_ORIGINALFILENAME_STR       "dapl2testd.exe"\r
+\r
 #else\r
 #define VER_FILEDESCRIPTION_STR                "DAPL/DAT[2.0] test Application"\r
-#endif\r
-\r
 #define VER_INTERNALNAME_STR           "dapl2test.exe"\r
 #define VER_ORIGINALFILENAME_STR       "dapl2test.exe"\r
 \r
+#endif\r
+\r
 #include <common.ver>\r
index ef219cfa28e28f753877dc2cf1a1ad65d85ced35..388ade1a2ef91779370311549562c12308fcc9d8 100644 (file)
@@ -79,14 +79,14 @@ rem add '-d' for debug output.
 )\r
 \r
 if "%T%" == "trans" (\r
-    echo Transaction test - 2048 iterations, 1 thread, SR 4KB buffers\r
-   %DT% -T T -s %S% -D %D% -i 2048 -t 1 -w 1 client SR 4096 server SR 4096\r
+    echo Transaction test - 8192 iterations, 1 thread, SR 4KB buffers\r
+   %DT% -T T -s %S% -D %D% -i 8192 -t 1 -w 1 client SR 4096 server SR 4096\r
     exit /B\r
 )\r
 \r
 if "%T%" == "transm" (\r
-    echo Multiple RW, RR, SR transactions, 2048 iterations\r
-    %DT% -T T -P -t 1 -w 1 -i 2048 -s %S% -D %D% client RW  4096 1 server RW  2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f\r
+    echo Multiple RW, RR, SR transactions, 4096 iterations\r
+    %DT% -T T -P -t 1 -w 1 -i 4096 -s %S% -D %D% client RW  4096 1 server RW  2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f\r
     exit /B\r
 )\r
 \r
@@ -121,12 +121,12 @@ if "%T%" == "perf" (
 )\r
 \r
 if "%T%" == "rdma-read" (\r
-    %DT% -T P -s %S% -D %D% -i 2048 RR 4096 2\r
+    %DT% -T P -s %S% -D %D% -i 4096 RR 32768 4\r
     exit /B\r
 )\r
 \r
 if "%T%" == "rdma-write" (\r
-    %DT% -T P -s %S% -D %D% -i 2048 RW 4096 2\r
+    %DT% -T P -s %S% -D %D% -i 4096 RW 32768 4\r
     exit /B\r
 )\r
 \r
@@ -149,22 +149,41 @@ if "%T%" == "latp" (
 )\r
 \r
 if "%T%" == "lim" (\r
-    echo limit tests\r
-    %DT% -T L -s %S% -D %D% -w 8 -m 100 limit_ia limit_pz limit_evd limit_ep limit_psp limit_lmr limit_rpost\r
+    echo Resource limit tests\r
+    %DT% -T L -D %D% -w 8 -m 100 limit_ia\r
+    %DT% -T L -D %D% -w 8 -m 100 limit_pz\r
+    %DT% -T L -D %D% -w 8 -m 100 limit_evd\r
+    %DT% -T L -D %D% -w 8 -m 100 limit_ep\r
+    %DT% -T L -D %D% -w 8 -m 100 limit_psp\r
+    %DT% -T L -D %D% -w 8 -m 100 limit_lmr\r
+    %DT% -T L -D %D% -w 8 -m 15 limit_rpost\r
     exit /B\r
 )\r
 \r
 if "%T%" == "regression" (\r
+    if "%X%" == "" (\r
+        if not "%3" == "" (\r
+            set L=%3\r
+        )\r
+    ) else (\r
+        if not "%4" == "" (\r
+            set L=%4\r
+        )\r
+    )\r
+    rem change % to ! - run cmd.exe /V:ON for loop count changes from cmd line\r
     echo %T% testing in %L% Loops\r
     REM rdma-write, read, perf\r
     FOR /L %%i IN (1,1,%L%) DO (\r
-         %DT% -T P -s %S% -D %D% -i 2048 RW 4096 2\r
-         %DT% -T P -s %S% -D %D% -i 2048 RR 4096 2\r
-         %DT% -T P %DBG% -s %S% -D %D% -i 2048 RW 4096 2\r
-         %DT% -T T -s %S% -D %D% -i 2048 -t 1 -w 1 client SR 4096 server SR 4096\r
-         %DT% -T T -s %S% -D %D% -i 4096 -t 4 -w 1 client SR 8192 3 server SR 8192 3\r
+         call %0 %1 trans\r
+         call %0 %1 perf\r
+         call %0 %1 threads\r
+         call %0 %1 transm\r
+         call %0 %1 transt\r
          call %0 %1 transme\r
          call %0 %1 transmet\r
+         call %0 %1 rdma-write\r
+         call %0 %1 rdma-read\r
+         call %0 %1 bw\r
     )\r
     echo %T% tests completed: %L% loops.\r
     exit /B\r
index 5c041791b29af7cdc4094db2dd6895b64cae8364..06a51edf9292373568ecfad77f79dbcd537acc42 100644 (file)
@@ -1 +1 @@
-DIRS=dapltest dtest\r
+DIRS=dapltest dtest dtestx\r
index 126623c372ec3a1ad6593e413b369d872419ca9b..5901675a5b359000aca9a12448a0b87435dc7e9d 100644 (file)
@@ -1,4 +1,8 @@
+!if $(FREEBUILD)\r
 TARGETNAME=dtest2\r
+!else\r
+TARGETNAME=dtest2d\r
+!endif\r
 TARGETPATH=..\..\..\..\bin\user\obj$(BUILD_ALT_DIR)\r
 TARGETTYPE=PROGRAM\r
 UMTYPE=console\r
index b22163390e000c06c81173125a7e3f1e4deaaa26..4884f754888ec2ce626caa4d7f8a41340ff2c571 100644 (file)
 \r
 #if DBG\r
 #define VER_FILEDESCRIPTION_STR                "Simple DAPL/DAT svr/cli test Application (Debug)"\r
+#define VER_INTERNALNAME_STR           "dtest2d.exe"\r
+#define VER_ORIGINALFILENAME_STR       "dtest2d.exe"\r
 #else\r
 #define VER_FILEDESCRIPTION_STR                "Simple DAPL/DAT svr/cli test Application"\r
+#define VER_INTERNALNAME_STR           "dtest2.exe"\r
+#define VER_ORIGINALFILENAME_STR       "dtest2.exe"\r
 #endif\r
 \r
-#define VER_INTERNALNAME_STR           "dapl2test.exe"\r
-#define VER_ORIGINALFILENAME_STR       "dapl2test.exe"\r
-\r
 #include <common.ver>\r