Skip to content

Commit edcfdf2

Browse files
author
Ralph Castain
committed
Update to latest PMIx master
Signed-off-by: Ralph Castain <[email protected]>
1 parent 0b82252 commit edcfdf2

24 files changed

+865
-213
lines changed

opal/mca/pmix/pmix2x/pmix/VERSION

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ release=0
2323
# The only requirement is that it must be entirely printable ASCII
2424
# characters and have no white space.
2525

26-
greek=
26+
greek=a1
2727

2828
# If repo_rev is empty, then the repository version number will be
2929
# obtained during "make dist" via the "git describe --tags --always"
3030
# command, or with the date (if "git describe" fails) in the form of
3131
# "date<date>".
3232

33-
repo_rev=git89ec3bc
33+
repo_rev=git972f79a
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="Jan 23, 2017"
47+
date="Jan 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

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2013-2016 Intel, Inc. All rights reserved
1+
# Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
22
# Copyright (c) 2016 Research Organization for Information Science
33
# and Technology (RIST). All rights reserved.
44
# Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
@@ -35,6 +35,7 @@ EXTRA_DIST = \
3535
pmix_check_package.m4 \
3636
pmix_check_vendor.m4 \
3737
pmix_check_visibility.m4 \
38+
pmix_check_lock.m4 \
3839
pmix_config_subdir.m4 \
3940
pmix_ensure_contains_optflags.m4 \
4041
pmix_functions.m4 \

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

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ dnl reserved.
1818
dnl Copyright (c) 2009-2011 Oak Ridge National Labs. All rights reserved.
1919
dnl Copyright (c) 2011-2013 NVIDIA Corporation. All rights reserved.
2020
dnl Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
21-
dnl Copyright (c) 2015-2016 Research Organization for Information Science
21+
dnl Copyright (c) 2015-2017 Research Organization for Information Science
2222
dnl and Technology (RIST). All rights reserved.
2323
dnl Copyright (c) 2016 Mellanox Technologies, Inc.
2424
dnl All rights reserved.
@@ -559,7 +559,7 @@ AC_DEFUN([PMIX_SETUP_CORE],[
559559
# Darwin doesn't need -lm, as it's a symlink to libSystem.dylib
560560
PMIX_SEARCH_LIBS_CORE([ceil], [m])
561561

562-
AC_CHECK_FUNCS([asprintf snprintf vasprintf vsnprintf strsignal socketpair strncpy_s usleep statfs statvfs getpeereid getpeerucred strnlen])
562+
AC_CHECK_FUNCS([asprintf snprintf vasprintf vsnprintf strsignal socketpair strncpy_s usleep statfs statvfs getpeereid getpeerucred strnlen posix_fallocate])
563563

564564
# On some hosts, htonl is a define, so the AC_CHECK_FUNC will get
565565
# confused. On others, it's in the standard library, but stubbed with
@@ -655,6 +655,14 @@ AC_DEFUN([PMIX_SETUP_CORE],[
655655

656656
PMIX_MCA
657657

658+
##################################
659+
# Dstore Locking
660+
##################################
661+
662+
pmix_show_title "Dstore Locking"
663+
664+
PMIX_CHECK_DSTOR_LOCK
665+
658666
############################################################################
659667
# final compiler config
660668
############################################################################
@@ -867,6 +875,7 @@ AC_DEFINE_UNQUOTED([PMIX_WANT_PRETTY_PRINT_STACKTRACE],
867875
[$WANT_PRETTY_PRINT_STACKTRACE],
868876
[if want pretty-print stack trace feature])
869877

878+
#
870879
# Do we want the shared memory datastore usage?
871880
#
872881

@@ -886,7 +895,22 @@ AC_DEFINE_UNQUOTED([PMIX_ENABLE_DSTORE],
886895
[if want shared memory dstore feature])
887896

888897
#
898+
# Use pthread-based locking
899+
#
900+
DSTORE_PTHREAD_LOCK="1"
901+
AC_MSG_CHECKING([if want dstore pthread-based locking])
902+
AC_ARG_ENABLE([dstore-pthlck],
903+
[AC_HELP_STRING([--disable-dstore-pthlck],
904+
[Disable pthread-based lockig in dstor (default: enabled)])])
905+
if test "$enable_dstore_pthlck" == "no" ; then
906+
AC_MSG_RESULT([no])
907+
DSTORE_PTHREAD_LOCK="0"
908+
else
909+
AC_MSG_RESULT([yes])
910+
DSTORE_PTHREAD_LOCK="1"
911+
fi
889912

913+
#
890914
# Ident string
891915
#
892916
AC_MSG_CHECKING([if want ident string])
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
dnl -*- shell-script -*-
2+
dnl
3+
dnl Copyright (c) 2017 Mellanox Technologies, Inc.
4+
dnl All rights reserved.
5+
dnl Copyright (c) 2017 Intel, Inc. All rights reserved.
6+
dnl $COPYRIGHT$
7+
dnl
8+
dnl Additional copyrights may follow
9+
dnl
10+
dnl $HEADER$
11+
dnl
12+
13+
AC_DEFUN([PMIX_CHECK_DSTOR_LOCK],[
14+
orig_libs=$LIBS
15+
LIBS="-lpthread $LIBS"
16+
17+
_x_ac_pthread_lock_found="0"
18+
_x_ac_fcntl_lock_found="0"
19+
20+
AC_CHECK_MEMBERS([struct flock.l_type],
21+
[
22+
AC_DEFINE([HAVE_FCNTL_FLOCK], [1],
23+
[Define to 1 if you have the locking by fcntl.])
24+
_x_ac_fcntl_lock_found="1"
25+
], [], [#include <fcntl.h>])
26+
27+
if test "$ESH_PTHREAD_LOCK" == "1"; then
28+
AC_CHECK_FUNC([pthread_rwlockattr_setkind_np],
29+
[AC_EGREP_HEADER([PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP],
30+
[pthread.h],[
31+
AC_DEFINE([HAVE_PTHREAD_SETKIND], [1],
32+
[Define to 1 if you have the `pthread_rwlockattr_setkind_np` function.])])])
33+
34+
AC_CHECK_FUNC([pthread_rwlockattr_setpshared],
35+
[AC_EGREP_HEADER([PTHREAD_PROCESS_SHARED],
36+
[pthread.h],[
37+
AC_DEFINE([HAVE_PTHREAD_SHARED], [1],
38+
[Define to 1 if you have the `PTHREAD_PROCESS_SHARED` definition.
39+
])
40+
_x_ac_pthread_lock_found="1"
41+
])
42+
])
43+
44+
if test "$_x_ac_pthread_lock_found" == "0"; then
45+
if test "$_x_ac_fcntl_lock_found" == "1"; then
46+
AC_MSG_WARN([dstore: pthread-based locking not found, will use fcntl-based locking.])
47+
else
48+
AC_MSG_ERROR([dstore: no available locking mechanisms was found. Can not continue. Try disabling dstore])
49+
fi
50+
fi
51+
else
52+
if test "$_x_ac_fcntl_lock_found" == "0"; then
53+
AC_MSG_ERROR([dstore: no available locking mechanisms was found. Can not continue. Try disabling dstore])
54+
fi
55+
fi
56+
57+
LIBS="$orig_libs"
58+
])

opal/mca/pmix/pmix2x/pmix/include/pmix_common.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ typedef uint32_t pmix_rank_t;
172172
#define PMIX_LOCALLDR "pmix.lldr" // (pmix_rank_t) lowest rank on this node within this job
173173
#define PMIX_APPLDR "pmix.aldr" // (pmix_rank_t) lowest rank in this app within this job
174174
#define PMIX_PROC_PID "pmix.ppid" // (pid_t) pid of specified proc
175+
#define PMIX_SESSION_ID "pmix.session.id" // (uint32_t) session identifier
175176

176177
#define PMIX_NODE_LIST "pmix.nlist" // (char*) comma-delimited list of nodes running procs for the specified nspace
177178
#define PMIX_ALLOCATED_NODELIST "pmix.alist" // (char*) comma-delimited list of all nodes in this allocation regardless of

0 commit comments

Comments
 (0)