Skip to content

Commit be1e421

Browse files
committed
mtl/ofi: log request type on callback error
Currently the log does not provide enough information to debug callback failures. This patch adds the request type to guide the developer to the corresponding callback function. Signed-off-by: Wenduo Wang <wenduwan@amazon.com>
1 parent 6911950 commit be1e421

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

ompi/mca/mtl/ofi/mtl_ofi.h

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,9 +153,10 @@ ompi_mtl_ofi_context_progress(int ctxt_id)
153153
assert(ofi_req);
154154
ret = ofi_req->event_callback(&ompi_mtl_ofi_wc[i], ofi_req);
155155
if (OMPI_SUCCESS != ret) {
156-
opal_output(0, "%s:%d: Error returned by request event callback: %zd.\n"
157-
"*** The Open MPI OFI MTL is aborting the MPI job (via exit(3)).\n",
158-
__FILE__, __LINE__, ret);
156+
opal_output(0,
157+
"%s:%d: Error returned by request (type: %d) event callback: %zd.\n"
158+
"*** The Open MPI OFI MTL is aborting the MPI job (via exit(3)).\n",
159+
__FILE__, __LINE__, ofi_req->type, ret);
159160
fflush(stderr);
160161
exit(1);
161162
}
@@ -671,6 +672,7 @@ ompi_mtl_ofi_ssend_recv(ompi_mtl_ofi_request_t *ack_req,
671672
assert(ack_req);
672673

673674
ack_req->parent = ofi_req;
675+
ack_req->type = OMPI_MTL_OFI_ACK;
674676
ack_req->event_callback = ompi_mtl_ofi_send_ack_callback;
675677
ack_req->error_callback = ompi_mtl_ofi_send_ack_error_callback;
676678

@@ -882,6 +884,7 @@ ompi_mtl_ofi_send_generic(struct mca_mtl_base_module_t *mtl,
882884
/**
883885
* Create a send request, start it and wait until it completes.
884886
*/
887+
ofi_req.type = OMPI_MTL_OFI_SEND;
885888
ofi_req.event_callback = ompi_mtl_ofi_send_callback;
886889
ofi_req.error_callback = ompi_mtl_ofi_send_error_callback;
887890

@@ -1130,6 +1133,7 @@ ompi_mtl_ofi_isend_generic(struct mca_mtl_base_module_t *mtl,
11301133
}
11311134
set_thread_context(ctxt_id);
11321135

1136+
ofi_req->type = OMPI_MTL_OFI_SEND;
11331137
ofi_req->event_callback = ompi_mtl_ofi_isend_callback;
11341138
ofi_req->error_callback = ompi_mtl_ofi_send_error_callback;
11351139

@@ -1142,7 +1146,6 @@ ompi_mtl_ofi_isend_generic(struct mca_mtl_base_module_t *mtl,
11421146
ompi_ret = ompi_mtl_datatype_pack(convertor, &start, &length, &free_after);
11431147
if (OPAL_UNLIKELY(OMPI_SUCCESS != ompi_ret)) return ompi_ret;
11441148

1145-
ofi_req->type = OMPI_MTL_OFI_SEND;
11461149
ofi_req->buffer = (free_after) ? start : NULL;
11471150
ofi_req->length = length;
11481151
ofi_req->status.MPI_ERROR = OMPI_SUCCESS;

0 commit comments

Comments
 (0)