Skip to content
This repository was archived by the owner on Sep 30, 2022. It is now read-only.

Commit 1a5fd6b

Browse files
committed
Merge pull request #1719 from ICLDisco/ucx_request_fix
Removal of ompi_request_lock from pml/ucx.
2 parents 87ea9be + 60d0fbf commit 1a5fd6b

File tree

2 files changed

+1
-13
lines changed

2 files changed

+1
-13
lines changed

ompi/mca/pml/ucx/pml_ucx.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -403,11 +403,9 @@ mca_pml_ucx_blocking_recv_completion(void *request, ucs_status_t status,
403403
(void*)req, ucs_status_string(status), info->sender_tag,
404404
info->length);
405405

406-
OPAL_THREAD_LOCK(&ompi_request_lock);
407406
mca_pml_ucx_set_recv_status(&req->req_status, status, info);
408407
PML_UCX_ASSERT( !(REQUEST_COMPLETE(req)));
409-
req->req_complete = REQUEST_COMPLETED;
410-
OPAL_THREAD_UNLOCK(&ompi_request_lock);
408+
ompi_request_complete(req,true);
411409
}
412410

413411
int mca_pml_ucx_recv(void *buf, size_t count, ompi_datatype_t *datatype, int src,
@@ -747,12 +745,9 @@ int mca_pml_ucx_start(size_t count, ompi_request_t** requests)
747745

748746
PML_UCX_VERBOSE(8, "send completed immediately, completing persistent request %p",
749747
(void*)preq);
750-
OPAL_THREAD_LOCK(&ompi_request_lock);
751748
mca_pml_ucx_set_send_status(&preq->ompi.req_status, UCS_OK);
752749
ompi_request_complete(&preq->ompi, true);
753-
OPAL_THREAD_UNLOCK(&ompi_request_lock);
754750
} else if (!UCS_PTR_IS_ERR(tmp_req)) {
755-
OPAL_THREAD_LOCK(&ompi_request_lock);
756751
if (REQUEST_COMPLETE(tmp_req)) {
757752
/* tmp_req is already completed */
758753
PML_UCX_VERBOSE(8, "completing persistent request %p", (void*)preq);
@@ -765,7 +760,6 @@ int mca_pml_ucx_start(size_t count, ompi_request_t** requests)
765760
tmp_req->req_complete_cb_data = preq;
766761
preq->tmp_req = tmp_req;
767762
}
768-
OPAL_THREAD_UNLOCK(&ompi_request_lock);
769763
} else {
770764
PML_UCX_ERROR("ucx %s failed: %s",
771765
(preq->flags & MCA_PML_UCX_REQUEST_FLAG_SEND) ? "send" : "recv",

ompi/mca/pml/ucx/pml_ucx_request.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,9 @@ void mca_pml_ucx_send_completion(void *request, ucs_status_t status)
4141
PML_UCX_VERBOSE(8, "send request %p completed with status %s", (void*)req,
4242
ucs_status_string(status));
4343

44-
OPAL_THREAD_LOCK(&ompi_request_lock);
4544
mca_pml_ucx_set_send_status(&req->req_status, status);
4645
PML_UCX_ASSERT( !(REQUEST_COMPLETE(req)));
4746
ompi_request_complete(req, true);
48-
OPAL_THREAD_UNLOCK(&ompi_request_lock);
4947
}
5048

5149
void mca_pml_ucx_recv_completion(void *request, ucs_status_t status,
@@ -57,11 +55,9 @@ void mca_pml_ucx_recv_completion(void *request, ucs_status_t status,
5755
(void*)req, ucs_status_string(status), info->sender_tag,
5856
info->length);
5957

60-
OPAL_THREAD_LOCK(&ompi_request_lock);
6158
mca_pml_ucx_set_recv_status(&req->req_status, status, info);
6259
PML_UCX_ASSERT( !(REQUEST_COMPLETE(req)));
6360
ompi_request_complete(req, true);
64-
OPAL_THREAD_UNLOCK(&ompi_request_lock);
6561
}
6662

6763
static void mca_pml_ucx_persistent_request_detach(mca_pml_ucx_persistent_request_t *preq,
@@ -86,14 +82,12 @@ static inline void mca_pml_ucx_preq_completion(ompi_request_t *tmp_req)
8682
{
8783
mca_pml_ucx_persistent_request_t *preq;
8884

89-
OPAL_THREAD_LOCK(&ompi_request_lock);
9085
ompi_request_complete(tmp_req, false);
9186
preq = (mca_pml_ucx_persistent_request_t*)tmp_req->req_complete_cb_data;
9287
if (preq != NULL) {
9388
PML_UCX_ASSERT(preq->tmp_req != NULL);
9489
mca_pml_ucx_persistent_request_complete(preq, tmp_req);
9590
}
96-
OPAL_THREAD_UNLOCK(&ompi_request_lock);
9791
}
9892

9993
void mca_pml_ucx_psend_completion(void *request, ucs_status_t status)

0 commit comments

Comments
 (0)