1
1
Этот коммит содержится в:
yosefe 2015-11-12 09:57:19 +02:00
родитель d66b01d380
Коммит 7becc54d67

Просмотреть файл

@ -61,19 +61,19 @@ void mca_pml_ucx_recv_completion(void *request, ucs_status_t status,
OPAL_THREAD_UNLOCK(&ompi_request_lock); OPAL_THREAD_UNLOCK(&ompi_request_lock);
} }
static void mca_pml_ucx_persistent_requset_detach(mca_pml_ucx_persistent_request_t *preq, static void mca_pml_ucx_persistent_request_detach(mca_pml_ucx_persistent_request_t *preq,
ompi_request_t *tmp_req) ompi_request_t *tmp_req)
{ {
tmp_req->req_complete_cb_data = NULL; tmp_req->req_complete_cb_data = NULL;
preq->tmp_req = NULL; preq->tmp_req = NULL;
} }
void mca_pml_ucx_persistent_requset_complete(mca_pml_ucx_persistent_request_t *preq, void mca_pml_ucx_persistent_request_complete(mca_pml_ucx_persistent_request_t *preq,
ompi_request_t *tmp_req) ompi_request_t *tmp_req)
{ {
preq->ompi.req_status = tmp_req->req_status; preq->ompi.req_status = tmp_req->req_status;
ompi_request_complete(&preq->ompi, true); ompi_request_complete(&preq->ompi, true);
mca_pml_ucx_persistent_requset_detach(preq, tmp_req); mca_pml_ucx_persistent_request_detach(preq, tmp_req);
mca_pml_ucx_request_reset(tmp_req); mca_pml_ucx_request_reset(tmp_req);
ucp_request_release(tmp_req); ucp_request_release(tmp_req);
} }
@ -87,7 +87,7 @@ static inline void mca_pml_ucx_preq_completion(ompi_request_t *tmp_req)
preq = (mca_pml_ucx_persistent_request_t*)tmp_req->req_complete_cb_data; preq = (mca_pml_ucx_persistent_request_t*)tmp_req->req_complete_cb_data;
if (preq != NULL) { if (preq != NULL) {
PML_UCX_ASSERT(preq->tmp_req != NULL); PML_UCX_ASSERT(preq->tmp_req != NULL);
mca_pml_ucx_persistent_requset_complete(preq, tmp_req); mca_pml_ucx_persistent_request_complete(preq, tmp_req);
} }
OPAL_THREAD_UNLOCK(&ompi_request_lock); OPAL_THREAD_UNLOCK(&ompi_request_lock);
} }
@ -153,7 +153,7 @@ static int mca_pml_ucx_persistent_request_free(ompi_request_t **rptr)
preq->ompi.req_state = OMPI_REQUEST_INVALID; preq->ompi.req_state = OMPI_REQUEST_INVALID;
if (tmp_req != NULL) { if (tmp_req != NULL) {
mca_pml_ucx_persistent_requset_detach(preq, tmp_req); mca_pml_ucx_persistent_request_detach(preq, tmp_req);
ucp_request_release(tmp_req); ucp_request_release(tmp_req);
} }
PML_UCX_FREELIST_RETURN(&ompi_pml_ucx.persistent_reqs, &preq->ompi.super); PML_UCX_FREELIST_RETURN(&ompi_pml_ucx.persistent_reqs, &preq->ompi.super);