Call progress on send schedule so that prepare_src can run if the rdma ack
lands between sending fragments up to rdma_offset. This commit was SVN r6646.
Этот коммит содержится в:
родитель
a474dabab0
Коммит
168274db45
ompi/mca/pml/ob1
@ -355,6 +355,7 @@ int mca_pml_ob1_add_procs(ompi_proc_t** procs, size_t nprocs)
|
||||
endpoint->btl_send = btl->btl_send;
|
||||
endpoint->btl_put = btl->btl_put;
|
||||
endpoint->btl_get = btl->btl_get;
|
||||
endpoint->btl_progress = btl->btl_component->btl_progress;
|
||||
}
|
||||
}
|
||||
if(btl_inuse > 0 && NULL != btl->btl_component->btl_progress) {
|
||||
|
@ -51,6 +51,7 @@ struct mca_pml_ob1_endpoint_t {
|
||||
mca_btl_base_module_prepare_fn_t btl_prepare_dst;
|
||||
mca_btl_base_module_put_fn_t btl_put;
|
||||
mca_btl_base_module_get_fn_t btl_get;
|
||||
mca_btl_base_component_progress_fn_t btl_progress;
|
||||
};
|
||||
typedef struct mca_pml_ob1_endpoint_t mca_pml_ob1_endpoint_t;
|
||||
|
||||
|
@ -483,6 +483,7 @@ int mca_pml_ob1_send_request_schedule(mca_pml_ob1_send_request_t* sendreq)
|
||||
if(bytes_remaining == 0)
|
||||
sendreq->t_scheduled = get_profiler_timestamp();
|
||||
#endif
|
||||
ep->btl_progress(); /* call progress */
|
||||
}
|
||||
} while (OPAL_THREAD_ADD32(&sendreq->req_lock,-1) > 0);
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user