diff --git a/tests/check_pm_dist_cdo.sh.in b/tests/check_pm_dist_cdo.sh.in index c1922eaf92f54138e30a2e2663be38ea77aa0350..0a7b835fdd5efa1d0ca9ea04ac1e693b538bdf2c 100644 --- a/tests/check_pm_dist_cdo.sh.in +++ b/tests/check_pm_dist_cdo.sh.in @@ -96,15 +96,15 @@ export MSTRO_POOL_MANAGER_INFO (env MSTRO_TRANSPORT_DEFAULT=OFI MSTRO_LOG_LEVEL=3 MSTRO_COMPONENT_NAME="consumer" MSTRO_LOG_COLOR_ERRORS=1 MSTRO_LOG_COLOR="GREEN" ${CLIENT_CMD}_2 -n) || exit 99 & #start client 3 -(env MSTRO_TRANSPORT_DEFAULT=GFS MSTRO_LOG_LEVEL=3 MSTRO_COMPONENT_NAME="producer2" MSTRO_LOG_COLOR_ERRORS=1 MSTRO_LOG_COLOR="GREEN" ${CLIENT_CMD}_3 -n) || exit 99 & +#(env MSTRO_TRANSPORT_DEFAULT=GFS MSTRO_LOG_LEVEL=3 MSTRO_COMPONENT_NAME="producer2" MSTRO_LOG_COLOR_ERRORS=1 MSTRO_LOG_COLOR="GREEN" ${CLIENT_CMD}_3 -n) || exit 99 & # start client 4 -(env MSTRO_TRANSPORT_DEFAULT=GFS MSTRO_LOG_LEVEL=3 MSTRO_COMPONENT_NAME="consumer" MSTRO_LOG_COLOR_ERRORS=1 MSTRO_LOG_COLOR="GREEN" ${CLIENT_CMD}_4 -n) || exit 99 & +#(env MSTRO_TRANSPORT_DEFAULT=GFS MSTRO_LOG_LEVEL=3 MSTRO_COMPONENT_NAME="consumer" MSTRO_LOG_COLOR_ERRORS=1 MSTRO_LOG_COLOR="GREEN" ${CLIENT_CMD}_4 -n) || exit 99 & wait %1 || exit 99 wait %2 || exit 99 -wait %3 || exit 99 -wait %4 || exit 99 +#wait %3 || exit 99 +#wait %4 || exit 99 # trap normal script termination: close pipe to pool manager terminate ${PM_PID} 0 diff --git a/transport/rdma.c b/transport/rdma.c index a2de0a89eda2f8579ba62c1c99ff966d7e58c53e..104814198808dd16b9324445fcc7ec71ff65f004 100644 --- a/transport/rdma.c +++ b/transport/rdma.c @@ -222,7 +222,8 @@ FRESH_REGISTRATION: ERR("Couldn't get CDO data and size for RDMA transport (status: %s)\n", mstro_status_description(status)); goto BAILOUT_UNLOCK; } - regentry->addr=dl.data; + regentry->addr=dl.data+ticket->src_offset; + DEBUG("Moving cdo ptr by %zu as src offset \n\n\n\n\n", ticket->src_offset); regentry->len=dl.len; if (mstro_memlock(dl.data, dl.len) != MSTRO_OK) { @@ -234,7 +235,7 @@ FRESH_REGISTRATION: /* register this address for OFI */ struct fid_mr *mr; /*Calculate the src ptr taking into account source offsets for dist_cdos -- silence compiler warnings */ - void * src_ptr = (void *) ((char *) dl.data + ticket->src_offset); + void * src_ptr = regentry->addr; //(void *) ((char *) dl.data); uint64_t requested_key = e->ep->fi->domain_attr->mr_mode & FI_MR_PROV_KEY ? 0 : mstro_memory_new_key(); int err = fi_mr_reg(e->ep->domain, src_ptr, dl.len, FI_REMOTE_READ, 0, requested_key, 0, &mr, NULL); @@ -429,7 +430,7 @@ mstro_transport_rdma_dst_execute(mstro_cdo cdo_dst, Mstro__Pool__TransferTicket* */ uint64_t requested_key = app_entry->ep->fi->domain_attr->mr_mode & FI_MR_PROV_KEY ? 0 : mstro_memory_new_key(); - int err = fi_mr_reg(app_entry->ep->domain, cdo_dst->raw_ptr, len, + int err = fi_mr_reg(app_entry->ep->domain, cdo_dst->raw_ptr+ticket->dst_offset, len, FI_READ, 0, requested_key, 0, &mr, NULL); if (err) { ERR("Couldn't register memory region for RDMA transport (err: %d, %s)\n",