|
@@ -36,7 +36,6 @@ static struct _starpu_mpi_req_list detached_ft_service_requests;
|
|
|
static struct _starpu_mpi_req_list ready_send_ft_service_requests;
|
|
|
static unsigned detached_send_n_ft_service_requests;
|
|
|
static starpu_pthread_mutex_t detached_ft_service_requests_mutex;
|
|
|
-static starpu_pthread_mutex_t ready_send_ft_service_requests_mutex;
|
|
|
static starpu_pthread_mutex_t ft_service_requests_mutex;
|
|
|
|
|
|
int ready_ack_msgs_recv;
|
|
@@ -121,9 +120,7 @@ int _starpu_mpi_ft_service_submit_rdy()
|
|
|
max_loop = MIN(SIMULTANEOUS_PENDING_SEND_MAX-pending_send_ft_service_msg, ready_send_ft_service_msg);
|
|
|
for (i=0 ; i<max_loop ; i++)
|
|
|
{
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&ready_send_ft_service_requests_mutex);
|
|
|
req = _starpu_mpi_req_list_pop_front(&ready_send_ft_service_requests);
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&ready_send_ft_service_requests_mutex);
|
|
|
STARPU_PTHREAD_MUTEX_LOCK(&detached_ft_service_requests_mutex);
|
|
|
MPI_Isend(req->ptr, req->count, req->datatype, req->node_tag.node.rank, req->node_tag.data_tag,
|
|
|
req->node_tag.node.comm, &req->backend->data_request);
|
|
@@ -180,10 +177,10 @@ int _starpu_mpi_ft_service_post_send(void* msg, int count, int rank, int tag, MP
|
|
|
|
|
|
_STARPU_MPI_DEBUG(5, "Pushing ft service msg: %s req %p tag %"PRIi64" src %d ptr %p\n", _starpu_mpi_request_type(SEND_REQ), req, tag, rank, msg);
|
|
|
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(&ready_send_ft_service_requests_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK(&ft_service_requests_mutex);
|
|
|
ready_send_ft_service_msg++;
|
|
|
_starpu_mpi_req_list_push_back(&ready_send_ft_service_requests, req);
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(&ready_send_ft_service_requests_mutex);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK(&ft_service_requests_mutex);
|
|
|
|
|
|
_starpu_mpi_wake_up_progress_thread();
|
|
|
|
|
@@ -364,7 +361,6 @@ int starpu_mpi_ft_service_lib_init(void(*_ack_msg_recv_cb)(void*), void(*_cp_inf
|
|
|
_starpu_mpi_req_list_init(&detached_ft_service_requests);
|
|
|
_starpu_mpi_req_list_init(&ready_send_ft_service_requests);
|
|
|
STARPU_PTHREAD_MUTEX_INIT(&detached_ft_service_requests_mutex, NULL);
|
|
|
- STARPU_PTHREAD_MUTEX_INIT(&ready_send_ft_service_requests_mutex, NULL);
|
|
|
STARPU_PTHREAD_MUTEX_INIT(&ft_service_requests_mutex, NULL);
|
|
|
ready_ack_msgs_recv = 0;
|
|
|
pending_ack_msgs_recv = 0;
|