From 672d96704cc165b91c7bcf263e97704affcd5f20 Mon Sep 17 00:00:00 2001 From: Nathan Hjelm Date: Thu, 30 Oct 2014 23:16:11 -0600 Subject: [PATCH] osc/rdma: fix regression introduced by eed7b45db59b356f6257f3b019e77643f14f84ce The ompi_osc_signal_outgoing was moved from ompi_osc_rdma_frag_start to frag_send which gave correct results for the bug reproducer but hangs with simple OSC tests. Moved the ompi_osc_signal_outgoing back and it now passes all tests. Closes #256 --- ompi/mca/osc/rdma/osc_rdma_frag.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ompi/mca/osc/rdma/osc_rdma_frag.c b/ompi/mca/osc/rdma/osc_rdma_frag.c index 6ee389d9bd..ea36ee4bad 100644 --- a/ompi/mca/osc/rdma/osc_rdma_frag.c +++ b/ompi/mca/osc/rdma/osc_rdma_frag.c @@ -66,10 +66,6 @@ frag_send(ompi_osc_rdma_module_t *module, "osc rdma: frag_send called to %d, frag = %p, count = %d", frag->target, (void *) frag, count)); - /* we need to signal now that a frag is outgoing to ensure the count sent - * with the unlock message is correct */ - ompi_osc_signal_outgoing (module, frag->target, 1); - return ompi_osc_rdma_isend_w_cb (frag->buffer, count, MPI_BYTE, frag->target, OSC_RDMA_FRAG_TAG, module->comm, frag_send_cb, frag); } @@ -84,6 +80,10 @@ ompi_osc_rdma_frag_start(ompi_osc_rdma_module_t *module, assert(0 == frag->pending); assert(module->peers[frag->target].active_frag != frag); + /* we need to signal now that a frag is outgoing to ensure the count sent + * with the unlock message is correct */ + ompi_osc_signal_outgoing (module, frag->target, 1); + /* if eager sends are not active, can't send yet, so buffer and get out... */ if (module->passive_target_access_epoch) {