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
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
IN DAPL_COOKIE *cookie )\r
{\r
dapl_os_atomic_set (&buffer->tail, cookie->index);\r
-\r
return DAT_SUCCESS;\r
}\r
\r
"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
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
"OP_BIND_MW",\r
0\r
};\r
+#endif\r
\r
dapl_dbg_log (DAPL_DBG_TYPE_CALLBACK,\r
"\t >>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<\n");\r
#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
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
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
* 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
#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
{\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
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
\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
#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
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
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
\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
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
\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
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
#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
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
* 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
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
#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
#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
/*\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
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
{\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
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
{\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
#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
\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
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
#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
* 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
dat_rsp_free\r
dat_rsp_query\r
dat_strerror\r
+#ifdef DAT_EXTENSIONS\r
+dat_extension_op\r
+#endif\r
\r
+!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
\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
)\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
)\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
)\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
-DIRS=dapltest dtest\r
+DIRS=dapltest dtest dtestx\r
+!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
\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