1
1
openmpi/opal/class
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
..
Makefile.am Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_bitmap.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_bitmap.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_fifo.c Add opal_fifo_t class 2014-12-04 15:30:02 -07:00
opal_fifo.h opal/fifo: use atomics to set fifo head in opal_fifo_push 2016-03-17 13:21:27 -06:00
opal_free_list.c opal: fix various coverity errors 2016-03-17 10:05:57 -06:00
opal_free_list.h opal: rework mpool and rcache frameworks 2016-03-14 10:50:41 -06:00
opal_graph.c opal: remove some unused variables / compiler warnings 2016-03-26 03:50:57 -07:00
opal_graph.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_hash_table.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_hash_table.h more c99 updates 2015-06-25 10:14:13 -06:00
opal_hotel.c opal hotel: only delete events that have not yet fired 2016-01-13 10:59:06 -08:00
opal_hotel.h opal hotel: only delete events that have not yet fired 2016-01-13 10:59:06 -08:00
opal_lifo.c Rename opal_atomic_lifo_t to opal_lifo_t and improve interface 2014-12-04 15:30:02 -07:00
opal_lifo.h opal/class/opal_lifo: use a standard syntax to initialize a local variable 2016-03-23 09:46:46 +09:00
opal_list.c Revert " Releasing the list items when list destructor is called" 2015-10-27 15:24:48 -07:00
opal_list.h Modify the OPAL_LIST_RELEASE and OPAL_LIST_DESTRUCT macros to release the objects only when the list object is refcounted down to 1, which will then reach zero when destructed/released at the end of the macro 2015-10-27 16:42:46 -07:00
opal_object.c Merge pull request #517 from hjelmn/class_fix 2015-08-31 12:13:58 -07:00
opal_object.h Fix performance regression caused by enabling opal thread support 2016-07-28 07:01:27 -06:00
opal_pointer_array.c Improving opal_pointer_array bounds checking (using 2015-07-23 11:53:16 -07:00
opal_pointer_array.h Improving opal_pointer_array bounds checking (using 2015-07-23 11:53:16 -07:00
opal_rb_tree.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_rb_tree.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_ring_buffer.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_ring_buffer.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_tree.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_tree.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_value_array.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_value_array.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00