ab8ed177f5
This commit fixes several bugs in the registration cache code: - Fix a programming error in the grdma invalidation function that can cause an infinite loop if more than 100 registrations are associated with a munmapped region. This happens because the mca_rcache_base_vma_find_all function returns the same 100 registrations on each call. This has been fixed by adding an iterate function to the vma tree interface. - Always obtain the vma lock when needed. This is required because there may be other threads in the system even if opal_using_threads() is false. Additionally, since it is safe to do so (the vma lock is recursive) the vma interface has been made thread safe. - Avoid calling free() while holding a lock. This avoids race conditions with locks held outside the Open MPI code. Fixes open-mpi/ompi#1654. Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov> |
||
---|---|---|
.. | ||
asm | ||
class | ||
datatype | ||
dss | ||
errhandler | ||
etc | ||
include | ||
mca | ||
memoryhooks | ||
runtime | ||
threads | ||
tools | ||
util | ||
win32 | ||
common_sym_whitelist.txt | ||
Makefile.am | ||
win_makefile |