1
1
openmpi/opal/threads
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
..
condition.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
condition.h opal/threads: Correct nsec -> usec conversion. 2015-11-04 11:28:43 +09:00
Makefile.am Fix performance regression caused by enabling opal thread support 2016-07-28 07:01:27 -06:00
mutex_unix.h opal: rename opal_atomic_init to opal_atomic_lock_init 2017-08-07 14:15:11 -06:00
mutex.c opal: rename opal_atomic_init to opal_atomic_lock_init 2017-08-07 14:15:11 -06:00
mutex.h Fix performance regression caused by enabling opal thread support 2016-07-28 07:01:27 -06:00
thread_usage.h Fix the leak of fragments for persistent sends. 2019-05-03 06:20:02 -07:00
thread.c opal/threads: protect opal_tsd_keys_destruct() to fix Java bindings. 2017-01-25 10:58:55 +09:00
threads.h Update OPAL and ORTE for thread safety 2017-06-06 12:30:57 -07:00
tsd.h opal/threads: manually invoke thread-specific key destructors on the main thread. 2017-01-06 13:46:35 +09:00
wait_sync.c scripted symbol name change (ompi_ prefix) 2017-07-11 02:13:23 -04:00
wait_sync.h opal/asm: rename existing arithmetic atomic functions 2017-11-30 10:41:22 -07:00