1
1
openmpi/opal
Nathan Hjelm 14b6f4931f rcache/grdma: fix potential deadlock
This commit fixes a potential deadlock that can occur between the
memory hooks and region registation. This deadlock occurs because
of a hold and wait error between two mutexes. The first mutex is
the VMA lock used to protect internal rcache/grdma structures and
the reader/writer lock in the interval tree.

In the case of the memory hooks a reader lock is obtained on the
interval tree then the VMA lock is obtained to remove the
registration from the LRU. In the case of LRU evictions the VMA
lock is obtained then the writer lock on the interval tree is
obtained. This leads to the deadlock.

To fix the issue the code that evicts from the LRU has been
updated to only invalidate the registration while the VMA lock
is held then remove the registration from the VMA after the
lock is released. This should completely eliminate the above
deadlock.

Signed-off-by: Nathan Hjelm <hjelmn@google.com>
2020-02-10 17:15:36 -07:00
..
class Merge pull request #7299 from awlauria/fix_warnings 2020-01-17 11:33:41 -05:00
datatype Swap the 2 fields to maintain the size of the struct. 2019-11-07 11:25:03 -05:00
dss Ensure buffer_unload leaves the buffer in a clean state 2019-09-04 08:32:27 -07:00
etc Correct the comment in the default MCA param template - we do not support a param called "component_path". The correct syntax is "mca_base_component_path" 2018-01-05 08:46:44 -08:00
include Merge pull request #7124 from devreal/fix-opal-align-min 2020-01-14 15:18:55 -05:00
mca rcache/grdma: fix potential deadlock 2020-02-10 17:15:36 -07:00
memoryhooks opal: clean up init/finalize 2018-12-18 14:37:04 -07:00
runtime opal: ensure opal_gethostname() always returns a value 2020-01-21 09:56:52 -08:00
test/reachable opal/util: Change opal/util/if.h macro IF_NAMESIZE to OPAL_IF_NAMESIZE 2019-07-29 21:24:39 +00:00
threads opal/threads: reverted #6199 2019-01-29 13:34:44 -05:00
tools Fix typo and update URLs (https, redirection) [skip ci] 2020-01-07 03:52:25 +09:00
util Merge pull request #7299 from awlauria/fix_warnings 2020-01-17 11:33:41 -05:00
win32 opal: convert from strncpy() -> opal_string_copy() 2018-09-27 11:56:18 -07:00
common_sym_whitelist.txt opal: add code patcher framework 2016-04-13 17:16:13 -06:00
Makefile.am opal: remove generated asm code 2017-08-03 09:18:58 -06:00
win_makefile Purge whitespace from the repo 2015-06-23 20:59:57 -07:00