1
1
openmpi/ompi/mca/pml/ob1
George Bosilca 48f824327c Fix the leak of fragments for persistent sends.
The rdma_frag attached to the send request was not correctly released
upon request completion, leaking until MPI_Finalize. A quick solution
would have been to add RDMA_FRAG_RETURN at different locations on the
send request completion, but it would have unnecessarily made the
sendreq completion path more complex. Instead, I added the length to
the RDMA fragment so that it can be completed during the remote ack.

Be more explicit on the comment.

The rdma_frag can only be freed once when the peer forced a protocol
change (from RDMA GET to send/recv). Otherwise the fragment will be
returned once all data pertaining to it has been trasnferred.

NOTE: Had to add a typedef for "opal_atomic_size_t" from master into
opal/threads/thread_usage.h into this cherry pick (it is in
opal/include/opal_stdatomic.h on master, but that file does not exist
here on the v4.0.x branch).

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
(cherry picked from commit a16cf0e4dd)
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2019-05-03 06:20:02 -07:00
..
configure.m4 Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
help-mpi-pml-ob1.txt Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
Makefile.am mca: Dynamic components link against project lib 2017-08-24 11:56:16 -04:00
owner.txt Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
pml_ob1_comm.c pml/ob1: fixed out of sequence bug. 2018-02-27 13:49:40 -05:00
pml_ob1_comm.h pml/ob1: fixed out of sequence bug. 2018-02-27 13:49:40 -05:00
pml_ob1_component.c pml/ob1: plug a memory leak in mca_pml_ob1_component_fini() 2018-09-10 09:21:12 +09:00
pml_ob1_component.h Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
pml_ob1_cuda.c pml/ob1: do not cache leave_pinned 2017-03-14 09:00:40 -06:00
pml_ob1_hdr.h Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
pml_ob1_iprobe.c ompi/request: Fix a persistent request creation bug 2016-12-08 21:42:05 +09:00
pml_ob1_irecv.c pml/ob1: have memchecker make recv buffer defined again when mca_pml_ob1_recv completes 2017-09-04 11:18:05 +09:00
pml_ob1_isend.c Added Software-based Performance Counters driver code along with several counters. 2018-06-11 22:48:16 -04:00
pml_ob1_progress.c opal/asm: rename existing arithmetic atomic functions 2017-11-30 10:41:22 -07:00
pml_ob1_rdma.c pml/ob1: do not cache leave_pinned 2017-03-14 09:00:40 -06:00
pml_ob1_rdma.h Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
pml_ob1_rdmafrag.c Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
pml_ob1_rdmafrag.h Fix the leak of fragments for persistent sends. 2019-05-03 06:20:02 -07:00
pml_ob1_recvfrag.c Fix the leak of fragments for persistent sends. 2019-05-03 06:20:02 -07:00
pml_ob1_recvfrag.h pml/ob1: fixed out of sequence bug. 2018-02-27 13:49:40 -05:00
pml_ob1_recvreq.c Fix the leak of fragments for persistent sends. 2019-05-03 06:20:02 -07:00
pml_ob1_recvreq.h opal/asm: rename existing arithmetic atomic functions 2017-11-30 10:41:22 -07:00
pml_ob1_sendreq.c Fix the leak of fragments for persistent sends. 2019-05-03 06:20:02 -07:00
pml_ob1_sendreq.h Fix the leak of fragments for persistent sends. 2019-05-03 06:20:02 -07:00
pml_ob1_start.c Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
pml_ob1.c pmix: added check for pmix fence status 2018-08-17 21:33:50 +06:00
pml_ob1.h pml/ob1: fixed out of sequence bug. 2018-02-27 13:49:40 -05:00
post_configure.sh Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00