From c84b205ab7658cc51948d8adcca162f2cdd96d51 Mon Sep 17 00:00:00 2001 From: Augustin Degomme Date: Tue, 3 Sep 2013 19:18:18 +0200 Subject: [PATCH 1/1] Ensure we don't post a too big receive here, because this could lead to problems with permanent receive. Add a fixme to remember to handle this case soon --- src/smpi/colls/gather-ompi.c | 2 +- src/smpi/smpi_base.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/smpi/colls/gather-ompi.c b/src/smpi/colls/gather-ompi.c index 18f1d08825..4a7489b4ac 100644 --- a/src/smpi/colls/gather-ompi.c +++ b/src/smpi/colls/gather-ompi.c @@ -135,7 +135,7 @@ smpi_coll_tuned_gather_ompi_binomial(void *sbuf, int scount, "smpi_coll_tuned_gather_ompi_binomial rank %d recv %d mycount = %d", rank, bmtree->tree_next[i], mycount); - smpi_mpi_recv(ptmp + total_recv*rextent, rcount*size-total_recv, rdtype, + smpi_mpi_recv(ptmp + total_recv*rextent, mycount, rdtype, bmtree->tree_next[i], COLL_TAG_GATHER, comm, &status); diff --git a/src/smpi/smpi_base.c b/src/smpi/smpi_base.c index 273ce1ec62..8bb78e14f8 100644 --- a/src/smpi/smpi_base.c +++ b/src/smpi/smpi_base.c @@ -320,6 +320,7 @@ void smpi_mpi_start(MPI_Request request) if(request->flags & PREPARED)request->flags &= ~PREPARED; if(request->flags & RECV) { print_request("New recv", request); + //FIXME: if receive is posted with a large size, but send is smaller, mailboxes may not match ! if (request->size < sg_cfg_get_int("smpi/async_small_thres")) mailbox = smpi_process_mailbox_small(); else -- 2.20.1