1
1
openmpi/opal
Nathan Hjelm 1d56007ab1 rcache/vma: make rcache lock recursive
There is currently a path through the grdma mpool and vma rcache that
leads to deadlock. It happens during the rcache insert. Before the
insert the rcache mutex is locked. During the call a new vma item is
allocated and then inserted into the rcache tree. The allocation
currently goes through the malloc hooks which may (and does) call back
into the mpool if the ptmalloc heap needs to be reallocated. This
callback tries to lock the rcache mutex which leads to the
deadlock. This has been observed with multi-threaded tests and the
openib btl.

This change may lead to some minor slowdown in the rcache vma when
threading is enabled. This will only affect larger message paths in
some of the btls.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2015-08-26 10:01:37 -06:00
..
asm opal/asm: remove alpha support 2015-08-18 09:11:38 -06:00
class opal/lifo: add load-linked store-conditional support 2015-08-18 14:01:52 -06:00
datatype bool: use SIZEOF__BOOL, not SIZEOF_BOOL 2015-07-02 07:32:02 -07:00
dss bool: use SIZEOF__BOOL, not SIZEOF_BOOL 2015-07-02 07:32:02 -07: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 atomic/ppc: add atomics for load-link, store-conditional, and swap 2015-08-18 14:01:52 -06:00
mca rcache/vma: make rcache lock recursive 2015-08-26 10:01:37 -06:00
memoryhooks Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
runtime opal_progress_threads: fix double RELEASE 2015-08-12 05:11:40 -07:00
threads opal: add recursive mutex 2015-08-26 10:01:37 -06:00
tools more c99 updates 2015-06-25 10:14:13 -06:00
util Silence coverity warnings 2015-07-29 07:28:08 -07:00
win32 more c99 updates 2015-06-25 10:14: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