Skip to content

Commit c1c0c02

Browse files
author
Ralph Castain
authored
Merge pull request #4964 from rhc54/ompi/reset
Reset OMPI master to PMIx master
2 parents 77ff99e + 8454fc8 commit c1c0c02

Some content is hidden

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

46 files changed

+1439
-1133
lines changed

opal/mca/pmix/pmix3x/pmix/VERSION

Lines changed: 2 additions & 2 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=git36e7e24
33+
repo_rev=gitf0b8151
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="Feb 09, 2018"
47+
date="Mar 24, 2018"
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/pmix3x/pmix/config/pmix.m4

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ dnl Copyright (c) 2004-2005 The Regents of the University of California.
1212
dnl All rights reserved.
1313
dnl Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
1414
dnl Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
15-
dnl Copyright (c) 2009 IBM Corporation. All rights reserved.
15+
dnl Copyright (c) 2009-2018 IBM Corporation. All rights reserved.
1616
dnl Copyright (c) 2009 Los Alamos National Security, LLC. All rights
1717
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.
20-
dnl Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
20+
dnl Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
2121
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.
@@ -109,12 +109,6 @@ AC_DEFUN([PMIX_SETUP_CORE],[
109109
AC_DEFINE_UNQUOTED([PMIX_MINOR_VERSION], [$PMIX_MINOR_VERSION],
110110
[The library minor version is always available, contrary to VERSION])
111111

112-
pmixmajor=${PMIX_MAJOR_VERSION}L
113-
pmixminor=${PMIX_MINOR_VERSION}L
114-
AC_SUBST(pmixmajor)
115-
AC_SUBST(pmixminor)
116-
AC_CONFIG_FILES(pmix_config_prefix[include/pmix_version.h])
117-
118112
PMIX_RELEASE_VERSION="`$PMIX_top_srcdir/config/pmix_get_version.sh $PMIX_top_srcdir/VERSION --release`"
119113
if test "$?" != "0"; then
120114
AC_MSG_ERROR([Cannot continue])
@@ -123,6 +117,14 @@ AC_DEFUN([PMIX_SETUP_CORE],[
123117
AC_DEFINE_UNQUOTED([PMIX_RELEASE_VERSION], [$PMIX_RELEASE_VERSION],
124118
[The library release version is always available, contrary to VERSION])
125119

120+
pmixmajor=${PMIX_MAJOR_VERSION}L
121+
pmixminor=${PMIX_MINOR_VERSION}L
122+
pmixrelease=${PMIX_RELEASE_VERSION}L
123+
AC_SUBST(pmixmajor)
124+
AC_SUBST(pmixminor)
125+
AC_SUBST(pmixrelease)
126+
AC_CONFIG_FILES(pmix_config_prefix[include/pmix_version.h])
127+
126128
PMIX_GREEK_VERSION="`$PMIX_top_srcdir/config/pmix_get_version.sh $PMIX_top_srcdir/VERSION --greek`"
127129
if test "$?" != "0"; then
128130
AC_MSG_ERROR([Cannot continue])

opal/mca/pmix/pmix3x/pmix/contrib/perf_tools/pmi_intra_perf.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,12 @@ int main(int argc, char **argv)
302302
commit_time, fence_time);
303303
}
304304

305+
/*
306+
* The barrier ensures that all procs finished key fetching
307+
* we had issues with dstor/lockless case evaluation
308+
*/
309+
pmi_fence( 0 );
310+
305311
/* Out of the perf path - send our results to rank 0 using same PMI */
306312
char key[128];
307313
sprintf(key, "PMIX_PERF_get_total_time.%d", rank);

opal/mca/pmix/pmix3x/pmix/include/pmix.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
2+
* Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
33
* Copyright (c) 2016 Research Organization for Information Science
44
* and Technology (RIST). All rights reserved.
55
*

opal/mca/pmix/pmix3x/pmix/include/pmix_common.h.in

Lines changed: 53 additions & 67 deletions
Large diffs are not rendered by default.

opal/mca/pmix/pmix3x/pmix/include/pmix_version.h.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/*
22
* Copyright (c) 2016 Mellanox Technologies, Inc.
33
* All rights reserved.
4+
* Copyright (c) 2018 IBM Corporation. All rights reserved.
45
* $COPYRIGHT$
56
*
67
* Additional copyrights may follow
@@ -15,5 +16,5 @@
1516
/* define PMIx version */
1617
#define PMIX_VERSION_MAJOR @pmixmajor@
1718
#define PMIX_VERSION_MINOR @pmixminor@
18-
19+
#define PMIX_VERSION_RELEASE @pmixrelease@
1920
#endif

opal/mca/pmix/pmix3x/pmix/src/class/pmix_hotel.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/*
33
* Copyright (c) 2012-2016 Cisco Systems, Inc. All rights reserved.
44
* Copyright (c) 2012 Los Alamos National Security, LLC. All rights reserved
5-
* Copyright (c) 2015-2017 Intel, Inc. All rights reserved.
5+
* Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
66
* $COPYRIGHT$
77
*
88
* Additional copyrights may follow

opal/mca/pmix/pmix3x/pmix/src/class/pmix_hotel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/*
33
* Copyright (c) 2012-2016 Cisco Systems, Inc. All rights reserved.
44
* Copyright (c) 2012 Los Alamos National Security, LLC. All rights reserved
5-
* Copyright (c) 2015-2017 Intel, Inc. All rights reserved.
5+
* Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
66
* $COPYRIGHT$
77
*
88
* Additional copyrights may follow

opal/mca/pmix/pmix3x/pmix/src/client/pmix_client.c

Lines changed: 7 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1175,135 +1175,37 @@ static void _commitfn(int sd, short args, void *cbdata)
11751175
return rc;
11761176
}
11771177

1178-
static void _resolve_peers(int sd, short args, void *cbdata)
1179-
{
1180-
pmix_cb_t *cb = (pmix_cb_t*)cbdata;
1181-
pmix_status_t rc;
1182-
1183-
cb->status = pmix_preg.resolve_peers(cb->key, cb->pname.nspace,
1184-
&cb->procs, &cb->nprocs);
1185-
/* post the data so the receiving thread can acquire it */
1186-
PMIX_POST_OBJECT(cb);
1187-
PMIX_WAKEUP_THREAD(&cb->lock);
1188-
}
1189-
11901178
/* need to thread-shift this request */
11911179
PMIX_EXPORT pmix_status_t PMIx_Resolve_peers(const char *nodename,
11921180
const char *nspace,
11931181
pmix_proc_t **procs, size_t *nprocs)
11941182
{
1195-
pmix_cb_t *cb;
1196-
pmix_status_t rc;
1197-
pmix_proc_t proc;
1198-
11991183
PMIX_ACQUIRE_THREAD(&pmix_global_lock);
12001184
if (pmix_globals.init_cntr <= 0) {
12011185
PMIX_RELEASE_THREAD(&pmix_global_lock);
12021186
return PMIX_ERR_INIT;
12031187
}
12041188
PMIX_RELEASE_THREAD(&pmix_global_lock);
12051189

1190+
/* set default */
1191+
*procs = NULL;
1192+
*nprocs = 0;
12061193

1207-
cb = PMIX_NEW(pmix_cb_t);
1208-
cb->key = (char*)nodename;
1209-
cb->pname.nspace = strdup(nspace);
1210-
1211-
PMIX_THREADSHIFT(cb, _resolve_peers);
1212-
1213-
/* wait for the result */
1214-
PMIX_WAIT_THREAD(&cb->lock);
1215-
1216-
/* if the nspace wasn't found, then we need to
1217-
* ask the server for that info */
1218-
if (PMIX_ERR_INVALID_NAMESPACE == cb->status) {
1219-
(void)strncpy(proc.nspace, nspace, PMIX_MAX_NSLEN);
1220-
proc.rank = PMIX_RANK_WILDCARD;
1221-
/* any key will suffice as it will bring down
1222-
* the entire data blob */
1223-
rc = PMIx_Get(&proc, PMIX_UNIV_SIZE, NULL, 0, NULL);
1224-
if (PMIX_SUCCESS != rc) {
1225-
PMIX_RELEASE(cb);
1226-
return rc;
1227-
}
1228-
/* retry the fetch */
1229-
cb->lock.active = true;
1230-
PMIX_THREADSHIFT(cb, _resolve_peers);
1231-
PMIX_WAIT_THREAD(&cb->lock);
1232-
}
1233-
*procs = cb->procs;
1234-
*nprocs = cb->nprocs;
1235-
1236-
rc = cb->status;
1237-
PMIX_RELEASE(cb);
1238-
return rc;
1239-
}
1240-
1241-
static void _resolve_nodes(int fd, short args, void *cbdata)
1242-
{
1243-
pmix_cb_t *cb = (pmix_cb_t*)cbdata;
1244-
char *regex, **names;
1245-
1246-
/* get a regular expression describing the PMIX_NODE_MAP */
1247-
cb->status = pmix_preg.resolve_nodes(cb->pname.nspace, &regex);
1248-
if (PMIX_SUCCESS == cb->status) {
1249-
/* parse it into an argv array of names */
1250-
cb->status = pmix_preg.parse_nodes(regex, &names);
1251-
if (PMIX_SUCCESS == cb->status) {
1252-
/* assemble it into a comma-delimited list */
1253-
cb->key = pmix_argv_join(names, ',');
1254-
pmix_argv_free(names);
1255-
} else {
1256-
free(regex);
1257-
}
1258-
}
1259-
/* post the data so the receiving thread can acquire it */
1260-
PMIX_POST_OBJECT(cb);
1261-
PMIX_WAKEUP_THREAD(&cb->lock);
1194+
return pmix_preg.resolve_peers(nodename, nspace, procs, nprocs);
12621195
}
12631196

12641197
/* need to thread-shift this request */
12651198
PMIX_EXPORT pmix_status_t PMIx_Resolve_nodes(const char *nspace, char **nodelist)
12661199
{
1267-
pmix_cb_t *cb;
1268-
pmix_status_t rc;
1269-
pmix_proc_t proc;
1270-
12711200
PMIX_ACQUIRE_THREAD(&pmix_global_lock);
12721201
if (pmix_globals.init_cntr <= 0) {
12731202
PMIX_RELEASE_THREAD(&pmix_global_lock);
12741203
return PMIX_ERR_INIT;
12751204
}
12761205
PMIX_RELEASE_THREAD(&pmix_global_lock);
12771206

1278-
cb = PMIX_NEW(pmix_cb_t);
1279-
cb->pname.nspace = strdup(nspace);
1280-
1281-
PMIX_THREADSHIFT(cb, _resolve_nodes);
1282-
1283-
/* wait for the result */
1284-
PMIX_WAIT_THREAD(&cb->lock);
1285-
1286-
/* if the nspace wasn't found, then we need to
1287-
* ask the server for that info */
1288-
if (PMIX_ERR_INVALID_NAMESPACE == cb->status) {
1289-
(void)strncpy(proc.nspace, nspace, PMIX_MAX_NSLEN);
1290-
proc.rank = PMIX_RANK_WILDCARD;
1291-
/* any key will suffice as it will bring down
1292-
* the entire data blob */
1293-
rc = PMIx_Get(&proc, PMIX_UNIV_SIZE, NULL, 0, NULL);
1294-
if (PMIX_SUCCESS != rc) {
1295-
PMIX_RELEASE(cb);
1296-
return rc;
1297-
}
1298-
/* retry the fetch */
1299-
cb->lock.active = true;
1300-
PMIX_THREADSHIFT(cb, _resolve_nodes);
1301-
PMIX_WAIT_THREAD(&cb->lock);
1302-
}
1303-
/* the string we want is in the key field */
1304-
*nodelist = cb->key;
1207+
/* set default */
1208+
*nodelist = NULL;
13051209

1306-
rc = cb->status;
1307-
PMIX_RELEASE(cb);
1308-
return rc;
1210+
return pmix_preg.resolve_nodes(nspace, nodelist);
13091211
}

opal/mca/pmix/pmix3x/pmix/src/common/pmix_query.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ static void query_cbfunc(struct pmix_peer_t *peer,
6363
PMIX_BFROPS_UNPACK(rc, peer, buf, &results->status, &cnt, PMIX_STATUS);
6464
if (PMIX_SUCCESS != rc) {
6565
PMIX_ERROR_LOG(rc);
66-
results->status = rc;
6766
goto complete;
6867
}
6968
if (PMIX_SUCCESS != results->status) {
@@ -75,7 +74,6 @@ static void query_cbfunc(struct pmix_peer_t *peer,
7574
PMIX_BFROPS_UNPACK(rc, peer, buf, &results->ninfo, &cnt, PMIX_SIZE);
7675
if (PMIX_SUCCESS != rc) {
7776
PMIX_ERROR_LOG(rc);
78-
results->status = rc;
7977
goto complete;
8078
}
8179
if (0 < results->ninfo) {
@@ -84,7 +82,6 @@ static void query_cbfunc(struct pmix_peer_t *peer,
8482
PMIX_BFROPS_UNPACK(rc, peer, buf, results->info, &cnt, PMIX_INFO);
8583
if (PMIX_SUCCESS != rc) {
8684
PMIX_ERROR_LOG(rc);
87-
results->status = rc;
8885
goto complete;
8986
}
9087
}

0 commit comments

Comments
 (0)