Skip to content

Commit adbcefe

Browse files
author
Ralph Castain
authored
Merge pull request #2777 from rhc54/topic/spawn
Fix comm_spawn and orte-dvm by resetting all used "node mapped" flags after building the child list
2 parents 59eafeb + 6560617 commit adbcefe

File tree

4 files changed

+6
-13
lines changed

4 files changed

+6
-13
lines changed

orte/mca/odls/base/odls_base_default_fns.c

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -408,13 +408,6 @@ int orte_odls_base_default_construct_child_list(opal_buffer_t *buffer,
408408
if (NULL == jdata->map) {
409409
jdata->map = OBJ_NEW(orte_job_map_t);
410410
newmap = true;
411-
} else if (ORTE_FLAG_TEST(jdata, ORTE_JOB_FLAG_MAP_INITIALIZED)) {
412-
/* zero all the node map flags */
413-
for (n=0; n < jdata->map->nodes->size; n++) {
414-
if (NULL != (node = (orte_node_t*)opal_pointer_array_get_item(jdata->map->nodes, n))) {
415-
ORTE_FLAG_UNSET(node, ORTE_NODE_FLAG_MAPPED);
416-
}
417-
}
418411
}
419412

420413
/* if we have a file map, then we need to load it */
@@ -494,7 +487,12 @@ int orte_odls_base_default_construct_child_list(opal_buffer_t *buffer,
494487
app = (orte_app_context_t*)opal_pointer_array_get_item(jdata->apps, pptr->app_idx);
495488
ORTE_FLAG_SET(app, ORTE_APP_FLAG_USED_ON_NODE);
496489
}
497-
ORTE_FLAG_SET(jdata, ORTE_JOB_FLAG_MAP_INITIALIZED);
490+
}
491+
/* reset the node map flags we used so the next job will start clean */
492+
for (n=0; n < jdata->map->nodes->size; n++) {
493+
if (NULL != (node = (orte_node_t*)opal_pointer_array_get_item(jdata->map->nodes, n))) {
494+
ORTE_FLAG_UNSET(node, ORTE_NODE_FLAG_MAPPED);
495+
}
498496
}
499497

500498
COMPLETE:

orte/mca/rmaps/base/rmaps_base_map_job.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,6 @@ void orte_rmaps_base_map_job(int fd, short args, void *cbdata)
389389
OBJ_RELEASE(caddy);
390390
return;
391391
}
392-
/* mark that nodes were assigned to this job */
393-
ORTE_FLAG_SET(jdata, ORTE_JOB_FLAG_MAP_INITIALIZED);
394392

395393
/* if any node is oversubscribed, then check to see if a binding
396394
* directive was given - if not, then we want to clear the default

orte/runtime/data_type_support/orte_dt_unpacking_fns.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,6 @@ int orte_dt_unpack_job(opal_buffer_t *buffer, void *dest,
204204
ORTE_ERROR_LOG(rc);
205205
return rc;
206206
}
207-
/* mark the map as uninitialized as we don't pack the node map */
208-
ORTE_FLAG_UNSET(jobs[i], ORTE_JOB_FLAG_MAP_INITIALIZED);
209207

210208
/* unpack the attributes */
211209
n=1;

orte/util/attr.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ typedef uint16_t orte_job_flags_t;
8989
#define ORTE_JOB_FLAG_RESTART 0x0200 //
9090
#define ORTE_JOB_FLAG_PROCS_MIGRATING 0x0400 // some procs in job are migrating from one node to another
9191
#define ORTE_JOB_FLAG_OVERSUBSCRIBED 0x0800 // at least one node in the job is oversubscribed
92-
#define ORTE_JOB_FLAG_MAP_INITIALIZED 0x1000 // nodes have been assigned to this job map
9392

9493
/*** JOB ATTRIBUTE KEYS ***/
9594
#define ORTE_JOB_START_KEY ORTE_NODE_MAX_KEY

0 commit comments

Comments
 (0)