1
1
openmpi/opal/threads
Nathan Hjelm a8c3699484 Fix performance regression caused by enabling opal thread support
This commit adds opal_using_threads() protection around the atomic
operation in OBJ_RETAIN/OBJ_RELEASE. This resolves the performance
issues seen when running psm with MPI_THREAD_SINGLE.

To avoid issues with header dependencies opal_using_threads() has been
moved to a new header (thread_usage.h). The OPAL_THREAD_ADD* and
OPAL_THREAD_CMPSET* macros have also been relocated to this header.

This commit is cherry-picked off a fix that was submitted for the v1.8
release series but never applied to master. This fixes part of the
problem reported by @nysal in #1902.

(cherry picked from commit open-mpi/ompi-release@ce91307918)

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2016-07-28 07:01:27 -06: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/mutex: add static mutex initializers 2015-10-14 16:08:41 -06:00
mutex.c ompi: always enable MPI_THREAD_MULTIPLE support 2016-02-23 10:02:14 -07:00
mutex.h Fix performance regression caused by enabling opal thread support 2016-07-28 07:01:27 -06:00
thread_usage.h Fix performance regression caused by enabling opal thread support 2016-07-28 07:01:27 -06:00
thread.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
threads.h more c99 updates 2015-06-25 10:14:13 -06:00
tsd.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
wait_sync.c opal/sync: remove usage of OPAL_ENABLE_MULTI_THREADS 2016-06-22 09:52:37 -06:00
wait_sync.h Fix MPI_Waitany and MPI_Waitsome 2016-06-28 16:40:00 +03:00