Skip to content

Commit 347ca41

Browse files
author
Ralph Castain
committed
Update ORTE and PMIx for release
Update PMIx to v2.1.0rc2 Sync changes in ORTE from master for various bug fixes Signed-off-by: Ralph Castain <[email protected]>
1 parent 029999e commit 347ca41

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+1716
-843
lines changed

.gitignore

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -316,15 +316,12 @@ opal/mca/pmix/ext2x/ext2x_client.c
316316
opal/mca/pmix/ext2x/ext2x_component.c
317317
opal/mca/pmix/ext2x/ext2x_server_north.c
318318
opal/mca/pmix/ext2x/ext2x_server_south.c
319-
opal/mca/pmix/pmix*/pmix/include/pmix/autogen/config.h
320-
opal/mca/pmix/pmix*/pmix/include/pmix/autogen/config.h.in
321-
opal/mca/pmix/pmix*/pmix/src/include/private/autogen/config.h.in
322-
opal/mca/pmix/pmix*/pmix/src/include/private/autogen/config.h
323319
opal/mca/pmix/pmix2x/pmix/src/include/frameworks.h
324320
opal/mca/pmix/pmix2x/pmix/src/mca/pinstalldirs/config/pinstall_dirs.h
325321
opal/mca/pmix/pmix2x/pmix/config/autogen_found_items.m4
326322
opal/mca/pmix/pmix2x/pmix/src/include/pmix_config.h
327323
opal/mca/pmix/pmix2x/pmix/src/include/pmix_config.h.in
324+
opal/mca/pmix/pmix2x/pmix/include/pmix_common.h
328325
opal/mca/pmix/pmix2x/pmix/include/pmix_rename.h
329326
opal/mca/pmix/pmix2x/pmix/include/pmix_version.h
330327
opal/mca/pmix/pmix2x/pmix/src/util/keyval/keyval_lex.c

opal/mca/pmix/base/base.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,12 @@ extern opal_pmix_base_t opal_pmix_base;
8282
OBJ_CONSTRUCT(&(l)->mutex, opal_mutex_t); \
8383
pthread_cond_init(&(l)->cond, NULL); \
8484
(l)->active = true; \
85+
OPAL_POST_OBJECT((l)); \
8586
} while(0)
8687

8788
#define OPAL_PMIX_DESTRUCT_LOCK(l) \
8889
do { \
90+
OPAL_ACQUIRE_OBJECT((l)); \
8991
OBJ_DESTRUCT(&(l)->mutex); \
9092
pthread_cond_destroy(&(l)->cond); \
9193
} while(0)

opal/mca/pmix/pmix2x/pmix/NEWS

Lines changed: 56 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,40 @@ example, a bug might be fixed in the master, and then moved to the
2121
current release as well as the "stable" bug fix release branch.
2222

2323

24-
Master (not on release branches yet)
25-
------------------------------------
24+
2.1.0 -- 26 Oct 2017
25+
----------------------
26+
**** NOTE: This release contains the first implementation of cross-version
27+
**** support. Servers using v2.1.0 are capable of supporting clients using
28+
**** PMIx versions v1.2 and above. Clients using v2.1.0 are able to interact
29+
**** with servers based on v1.2 and above.
30+
- Added cross-version communication support
31+
- Enable reporting of contact URI to stdout, stderr, or file (PR #538)
32+
- Enable support for remote tool connections (PR #540, #542)
33+
- Cleanup libevent configure logi to support default install paths (PR #541)
34+
- Debounce "unreachable" notifications for tools when they disconnect (PR #544)
35+
36+
37+
2.0.2 -- 19 Oct 2017
38+
----------------------
39+
- Update RPM spec file (rpmbuild -ta, and --rebuild fixes) (PR #523)
40+
- Support singletons in PMI-1/PMI-2 (PR #537)
41+
- Provide missing implementation support for arrays of pmix_value_t's (PR #531)
42+
- Remove unsupported assembly code for MIPS and ARM processors
43+
prior to v6 (PR #547)
44+
- Fix path separator for PMIx configuration files (PR #547)
45+
- Add configure option to enable/disable the default value for the
46+
show-load-errors MCA param (PR #547)
47+
48+
49+
2.0.1 -- 24 Aug. 2017
50+
----------------------
51+
- Protect PMIX_INFO_FREE macro from NULL data arrays
52+
- Added attributes to support HWLOC shared memory regions
53+
- Fixed several syntax errors in configure code
54+
- Fixed several visibility errors
55+
- Correctly return status from PMIx_Fence operation
56+
- Restore tool connection support and implement search
57+
operations to discover rendezvous files
2658

2759

2860
2.0.0
@@ -83,6 +115,28 @@ Master (not on release branches yet)
83115
and to themselves
84116

85117

118+
1.2.4 -- 13 Oct. 2017
119+
----------------------
120+
- Silence some unnecessary warning messages (PR #487)
121+
- Coverity fix - TOCTOU (PR #465)
122+
- automake 1.13 configure fix (PR #486)
123+
- Update RPM spec file (rpmbuild -ta, and --rebuild fixes) (PR #523)
124+
- Support singletons in PMI-1/PMI-2 (PR #537)
125+
126+
127+
1.2.3 -- 24 Aug. 2017
128+
----------------------
129+
- Resolve visibility issues for public APIs (PR #451)
130+
- Atomics update - remove custom ASM atomics (PR #458)
131+
- Fix job-fence test (PR #423)
132+
- Replace stale PMIX_DECLSPEC with PMIX_EXPORT (PR #448)
133+
- Memory barrier fixes for thread shifting (PR #387)
134+
- Fix race condition in dmodex (PR #346)
135+
- Allow disable backward compatability for PMI-1/2 (PR #350)
136+
- Fix segv in PMIx_server_deregister_nspace (PR #343)
137+
- Fix possible hang in PMIx_Abort (PR #339)
138+
139+
86140
1.2.2 -- 21 March 2017
87141
----------------------
88142
- Compiler fix for Sun/Oracle CC (PR #322)

opal/mca/pmix/pmix2x/pmix/README

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,32 @@ INSTALLATION OPTIONS
128128
--disable-shared; enabling static libraries and disabling shared
129129
libraries are two independent options.
130130

131+
--disable-show-load-errors-by-default
132+
Set the default value of the mca_base_component_show_load_errors MCA
133+
variable: the --enable form of this option sets the MCA variable to
134+
true, the --disable form sets the MCA variable to false. The MCA
135+
mca_base_component_show_load_errors variable can still be overridden
136+
at run time via the usual MCA-variable-setting mechanisms; this
137+
configure option simply sets the default value.
138+
139+
The --disable form of this option is intended for PMIx packagers
140+
who tend to enable support for many different types of networks and
141+
systems in their packages. For example, consider a packager who
142+
includes support for both the FOO and BAR networks in their PMIx
143+
package, both of which require support libraries (libFOO.so and
144+
libBAR.so). If an end user only has BAR hardware, they likely only
145+
have libBAR.so available on their systems -- not libFOO.so.
146+
Disabling load errors by default will prevent the user from seeing
147+
potentially confusing warnings about the FOO components failing to
148+
load because libFOO.so is not available on their systems.
149+
150+
Conversely, system administrators tend to build a PMIx that is
151+
targeted at their specific environment, and contains few (if any)
152+
components that are not needed. In such cases, they might want
153+
their users to be warned that the FOO network components failed to
154+
load (e.g., if libFOO.so was mistakenly unavailable), and thus
155+
some PMIx calls might unexpectedly return "not supported".
156+
131157
--with-platform=FILE
132158
Load configure options for the build from FILE. Options on the
133159
command line that are not in FILE are also used. Options on the

opal/mca/pmix/pmix2x/pmix/VERSION

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ greek=
3030
# command, or with the date (if "git describe" fails) in the form of
3131
# "date<date>".
3232

33-
repo_rev=git9d9df02
33+
repo_rev=git1617e76
3434

3535
# If tarball_version is not empty, it is used as the version string in
3636
# the tarball filename, regardless of all other versions listed in
@@ -44,7 +44,7 @@ tarball_version=
4444

4545
# The date when this release was created
4646

47-
date="Sep 27, 2017"
47+
date="Oct 31, 2017"
4848

4949
# The shared library version of each of PMIx's public libraries.
5050
# These versions are maintained in accordance with the "Library
@@ -75,4 +75,6 @@ date="Sep 27, 2017"
7575
# Version numbers are described in the Libtool current:revision:age
7676
# format.
7777

78-
libpmix_so_version=0:0:0
78+
libpmix_so_version=3:3:1
79+
libpmi_so_version=1:0:0
80+
libpmi2_so_version=1:0:0

opal/mca/pmix/pmix2x/pmix/config/pmix.m4

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,32 @@ AC_DEFUN([PMIX_SETUP_CORE],[
705705

706706
pmix_show_title "Modular Component Architecture (MCA) setup"
707707

708+
#
709+
# Do we want to show component load error messages by default?
710+
#
711+
712+
AC_MSG_CHECKING([for default value of mca_base_component_show_load_errors])
713+
AC_ARG_ENABLE([show-load-errors-by-default],
714+
[AC_HELP_STRING([--enable-show-load-errors-by-default],
715+
[Set the default value for the MCA parameter
716+
mca_base_component_show_load_errors (but can be
717+
overridden at run time by the usual
718+
MCA-variable-setting mechansism). This MCA variable
719+
controls whether warnings are displayed when an MCA
720+
component fails to load at run time due to an error.
721+
(default: enabled, meaning that
722+
mca_base_component_show_load_errors is enabled
723+
by default])])
724+
if test "$enable_show_load_errors_by_default" = "no" ; then
725+
PMIX_SHOW_LOAD_ERRORS_DEFAULT=0
726+
AC_MSG_RESULT([disabled by default])
727+
else
728+
PMIX_SHOW_LOAD_ERRORS_DEFAULT=1
729+
AC_MSG_RESULT([enabled by default])
730+
fi
731+
AC_DEFINE_UNQUOTED(PMIX_SHOW_LOAD_ERRORS_DEFAULT, $PMIX_SHOW_LOAD_ERRORS_DEFAULT,
732+
[Default value for mca_base_component_show_load_errors MCA variable])
733+
708734
AC_MSG_CHECKING([for subdir args])
709735
PMIX_CONFIG_SUBDIR_ARGS([pmix_subdir_args])
710736
AC_MSG_RESULT([$pmix_subdir_args])
@@ -760,6 +786,8 @@ AC_DEFUN([PMIX_SETUP_CORE],[
760786

761787
pmix_show_subtitle "Final output"
762788

789+
AC_CONFIG_HEADERS(pmix_config_prefix[include/pmix_common.h])
790+
763791
AC_CONFIG_FILES(
764792
pmix_config_prefix[Makefile]
765793
pmix_config_prefix[config/Makefile]

opal/mca/pmix/pmix2x/pmix/config/pmix_config_asm.m4

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -959,8 +959,8 @@ AC_DEFUN([PMIX_CONFIG_ASM],[
959959
960960
ia64-*)
961961
pmix_cv_asm_arch="IA64"
962-
PMIX_ASM_SUPPORT_64BIT=1
963-
PMIX_GCC_INLINE_ASSIGN='"mov %0=r0\n;;\n" : "=&r"(ret)'
962+
PMIX_CHECK_SYNC_BUILTINS([pmix_cv_asm_builtin="BUILTIN_SYNC"],
963+
[AC_MSG_ERROR([No atomic primitives available for $host])])
964964
;;
965965
aarch64*)
966966
pmix_cv_asm_arch="ARM64"
@@ -993,20 +993,16 @@ AC_DEFUN([PMIX_CONFIG_ASM],[
993993
armv5*linux*|armv4*linux*|arm-*-linux-gnueabi)
994994
# uses Linux kernel helpers for some atomic operations
995995
pmix_cv_asm_arch="ARM"
996-
PMIX_ASM_SUPPORT_64BIT=0
997-
PMIX_ASM_ARM_VERSION=5
998-
CCASFLAGS="$CCASFLAGS -march=armv7-a"
999-
AC_DEFINE_UNQUOTED([PMIX_ASM_ARM_VERSION], [$PMIX_ASM_ARM_VERSION],
1000-
[What ARM assembly version to use])
1001-
PMIX_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)'
996+
PMIX_CHECK_SYNC_BUILTINS([pmix_cv_asm_builtin="BUILTIN_SYNC"],
997+
[AC_MSG_ERROR([No atomic primitives available for $host])])
1002998
;;
1003999
10041000
mips-*|mips64*)
10051001
# Should really find some way to make sure that we are on
10061002
# a MIPS III machine (r4000 and later)
10071003
pmix_cv_asm_arch="MIPS"
1008-
PMIX_ASM_SUPPORT_64BIT=1
1009-
PMIX_GCC_INLINE_ASSIGN='"or %0,[$]0,[$]0" : "=&r"(ret)'
1004+
PMIX_CHECK_SYNC_BUILTINS([pmix_cv_asm_builtin="BUILTIN_SYNC"],
1005+
[AC_MSG_ERROR([No atomic primitives available for $host])])
10101006
;;
10111007
10121008
powerpc-*|powerpc64-*|powerpcle-*|powerpc64le-*|rs6000-*|ppc-*)

opal/mca/pmix/pmix2x/pmix/config/pmix_setup_libevent.m4

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ AC_DEFUN([_PMIX_LIBEVENT_EMBEDDED_MODE],[
5050
])
5151

5252
AC_DEFUN([_PMIX_LIBEVENT_EXTERNAL],[
53-
PMIX_VAR_SCOPE_PUSH([pmix_event_dir pmix_event_libdir])
53+
PMIX_VAR_SCOPE_PUSH([pmix_event_dir pmix_event_libdir pmix_event_defaults])
5454

5555
AC_ARG_WITH([libevent],
5656
[AC_HELP_STRING([--with-libevent=DIR],
@@ -67,17 +67,32 @@ AC_DEFUN([_PMIX_LIBEVENT_EXTERNAL],[
6767

6868
AC_MSG_CHECKING([for libevent in])
6969
if test ! -z "$with_libevent" && test "$with_libevent" != "yes"; then
70+
pmix_event_defaults=no
7071
pmix_event_dir=$with_libevent
7172
if test -d $with_libevent/lib; then
7273
pmix_event_libdir=$with_libevent/lib
7374
elif test -d $with_libevent/lib64; then
7475
pmix_event_libdir=$with_libevent/lib64
76+
elif test -d $with_libevent; then
77+
pmix_event_libdir=$with_libevent
7578
else
76-
AC_MSG_RESULT([Could not find $with_libevent/lib or $with_libevent/lib64])
79+
AC_MSG_RESULT([Could not find $with_libevent/lib, $with_libevent/lib64, or $with_libevent])
7780
AC_MSG_ERROR([Can not continue])
7881
fi
7982
AC_MSG_RESULT([$pmix_event_dir and $pmix_event_libdir])
8083
else
84+
pmix_event_defaults=yes
85+
pmix_event_dir=/usr/include
86+
if test -d /usr/lib; then
87+
pmix_event_libdir=/usr/lib
88+
elif test -d /usr/lib64; then
89+
pmix_event_libdir=/usr/lib64
90+
else
91+
AC_MSG_RESULT([not found])
92+
AC_MSG_WARN([Could not find /usr/lib or /usr/lib64 - you may])
93+
AC_MSG_WARN([to specify --with-libevent-libdir=<path>])
94+
AC_MSG_ERROR([Can not continue])
95+
fi
8196
AC_MSG_RESULT([(default search paths)])
8297
fi
8398
AS_IF([test ! -z "$with_libevent_libdir" && "$with_libevent_libdir" != "yes"],
@@ -92,11 +107,13 @@ AC_DEFUN([_PMIX_LIBEVENT_EXTERNAL],[
92107
[$pmix_event_libdir],
93108
[],
94109
[AC_MSG_WARN([LIBEVENT SUPPORT NOT FOUND])
95-
AC_MSG_ERROR([CANNOT CONTINE])])
110+
AC_MSG_ERROR([CANNOT CONTINUE])])
111+
112+
AS_IF([test "$pmix_event_defaults" = "no"],
113+
[PMIX_FLAGS_APPEND_UNIQ(CPPFLAGS, $pmix_libevent_CPPFLAGS)
114+
PMIX_FLAGS_APPEND_UNIQ(LIBS, $pmix_libevent_LIBS)
115+
PMIX_FLAGS_APPEND_UNIQ(LDFLAGS, $pmix_libevent_LDFLAGS)])
96116

97-
PMIX_FLAGS_APPEND_UNIQ(CPPFLAGS, $pmix_libevent_CPPFLAGS)
98-
PMIX_FLAGS_APPEND_UNIQ(LIBS, $pmix_libevent_LIBS)
99-
PMIX_FLAGS_APPEND_UNIQ(LDFLAGS, $pmix_libevent_LDFLAGS)
100117

101118
# Ensure that this libevent has the symbol
102119
# "evthread_set_lock_callbacks", which will only exist if

opal/mca/pmix/pmix2x/pmix/configure.ac

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,8 @@ AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/VERSION'])
237237

238238
. $srcdir/VERSION
239239
AC_SUBST([libpmix_so_version])
240+
AC_SUBST([libpmi_so_version])
241+
AC_SUBST([libpmi2_so_version])
240242

241243
AC_CONFIG_FILES(pmix_config_prefix[contrib/Makefile]
242244
pmix_config_prefix[examples/Makefile]

opal/mca/pmix/pmix2x/pmix/include/Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
if WANT_PRIMARY_HEADERS
1414
include_HEADERS = \
1515
pmix.h \
16-
pmix_common.h \
1716
pmix_server.h \
1817
pmix_tool.h
1918

@@ -24,6 +23,7 @@ include_HEADERS += \
2423
endif
2524

2625
nodist_include_HEADERS = \
26+
pmix_common.h \
2727
pmix_version.h \
2828
pmix_rename.h
2929

0 commit comments

Comments
 (0)