a8c3699484
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>
40 строки
1.4 KiB
Makefile
40 строки
1.4 KiB
Makefile
# -*- makefile -*-
|
|
#
|
|
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
|
# University Research and Technology
|
|
# Corporation. All rights reserved.
|
|
# Copyright (c) 2004-2016 The University of Tennessee and The University
|
|
# of Tennessee Research Foundation. All rights
|
|
# reserved.
|
|
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
# University of Stuttgart. All rights reserved.
|
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
|
# All rights reserved.
|
|
# Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
|
|
# Copyright (c) 2015 Research Organization for Information Science
|
|
# and Technology (RIST). All rights reserved.
|
|
# $COPYRIGHT$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
# $HEADER$
|
|
#
|
|
|
|
# This makefile.am does not stand on its own - it is included from opal/Makefile.am
|
|
|
|
# Source code files
|
|
headers += \
|
|
threads/condition.h \
|
|
threads/mutex.h \
|
|
threads/mutex_unix.h \
|
|
threads/threads.h \
|
|
threads/tsd.h \
|
|
threads/wait_sync.h \
|
|
threads/thread_usage.h
|
|
|
|
lib@OPAL_LIB_PREFIX@open_pal_la_SOURCES += \
|
|
threads/condition.c \
|
|
threads/mutex.c \
|
|
threads/thread.c \
|
|
threads/wait_sync.c
|