1
1
openmpi/opal
Nathan Hjelm ab8ed177f5 rcache: fix deadlock in multi-threaded environments
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>
2016-05-17 09:02:40 -06:00
..
asm opal/asm: remove alpha support 2015-08-18 09:11:38 -06:00
class opal: remove some unused variables / compiler warnings 2016-03-26 03:50:57 -07:00
datatype One less warning. 2016-04-21 18:11:29 -04:00
dss Enable the PMIx notification callback system. This currently is only supported by the pmix120 component, which is not selected by default. All other components will ignore error registration requests, and thus do not support debugger attach when launched via mpirun. Note that direct launched applications will support such attachment, but may not do so in a scalable fashion. 2016-02-18 09:29:12 -08:00
errhandler Add an opal/errhandler so opal-level errors can be up-leveled 2015-07-11 07:09:11 -07:00
etc Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
include asm/powerpc: Fix empty colon list in asm for XL compiler on power 2016-05-04 14:14:33 -05:00
mca rcache: fix deadlock in multi-threaded environments 2016-05-17 09:02:40 -06:00
memoryhooks opal/memory: move initialization to first rcache creation 2016-04-13 17:21:46 -06:00
runtime Repair the processing of cmd line options that mapped to MCA params. This was responsible for breaking things like map-by <foo>. 2016-05-06 13:14:03 -07:00
threads ompi: always enable MPI_THREAD_MULTIPLE support 2016-02-23 10:02:14 -07:00
tools opal.pc.in: fix typo; use the write AC_SUBST'ed variable 2016-02-08 10:55:18 -08:00
util Merge pull request #1552 from kmroz/wip-hostname-len-cleanup-1 2016-05-02 09:44:18 -04:00
win32 opal: standardize on max hostname length 2016-04-24 08:19:47 +02:00
common_sym_whitelist.txt opal: add code patcher framework 2016-04-13 17:16:13 -06:00
Makefile.am Add an opal/errhandler so opal-level errors can be up-leveled 2015-07-11 07:09:11 -07:00
win_makefile Purge whitespace from the repo 2015-06-23 20:59:57 -07:00