static int align_data=0;
static int performance_times = 1;
static int connected = 0;
-static int burst = 50;
+static int burst = 100;
static int signal_rate = 2;
static int server = 1;
static int verbose = 0;
DAT_COUNT nmore;
DAT_RETURN ret = DAT_SUCCESS;
+ LOGPRINTF("%d waiting for event...\n", getpid());
+
if (use_cno) {
retry:
/* CNO wait could return EVD's in any order and
if (counter)
(*counter)++;
}
+ LOGPRINTF("%d event complete\n", getpid());
return (ret);
}
if (ts.rdma_wr) {
int msgs = uni_direction ? burst : burst * 2;
- printf("\n%d: RDMA write (%s): Total=%6.2lf usec, %d msgs, itime=%6.2lf us, pc=%d %4.2lf MB/sec\n",
+ printf("\n%d: RDMA write (%s): Total=%6.2lf usec, itime=%6.2lf us, poll=%d, %d x %d, %4.2lf MB/sec\n",
getpid(), uni_direction ? "uni-direction" : "bi-direction",
- ts.rdma_wr, msgs, ts.rdma_wr / msgs,
- rdma_wr_poll_count, (double)(1/(ts.rdma_wr/msgs/buf_len)));
+ ts.rdma_wr, ts.rdma_wr / msgs, rdma_wr_poll_count, msgs, buf_len,
+ (double)(1/(ts.rdma_wr/msgs/buf_len)));
}
if (!performance_times)
sprintf(&sbuf[25], "rdma writes completed == %d", i+1);
sbuf[buf_len-1] = i;
- if ((i == (burst - 1)) || (i % (burst-1/signal_rate) == 0))
+ if ((i == (burst - 1)) || (i % (burst/signal_rate) == 0))
flags = DAT_COMPLETION_DEFAULT_FLAG;
- cookie.as_64 = 0x9999;
+ else
+ flags = DAT_COMPLETION_SUPPRESS_FLAG;
+
+ cookie.as_64 = i;
ret = dat_ep_post_rdma_write(h_ep, // ep_handle
MSG_IOV_COUNT, // num_segments
l_iov, // LMR
DTO_TIMEOUT,
&rdma_wr_poll_count) != DAT_SUCCESS)
return (DAT_ABORT);
+ if (event.event_data.dto_completion_event_data.user_cookie.as_64 != i) {
+ fprintf(stderr, "ERROR rdma_write: cookie=" F64x" exp 0x%x\n",
+ event.event_data.dto_completion_event_data.user_cookie.as_64,i);
+ return (DAT_ABORT);
+ }
}
}
stop = get_time();
{
printf("\n DAPL USAGE \n\n");
printf("s: server\n");
+ printf("u: unidirectional bandwidth (default=bidirectional\n");
printf("t: performance times\n");
printf("c: use cno\n");
printf("v: verbose\n");