Skip to content
Snippets Groups Projects
Commit ac99f1e5 authored by Moe Jette's avatar Moe Jette
Browse files

Scale partition node count in partition by c-nodes per BP on bluegene systems.

parent 6f111b8a
No related branches found
No related tags found
No related merge requests found
...@@ -383,37 +383,23 @@ extern int select_p_alter_node_cnt(enum select_node_cnt type, void *data) ...@@ -383,37 +383,23 @@ extern int select_p_alter_node_cnt(enum select_node_cnt type, void *data)
found_record = bg_record; found_record = bg_record;
list_iterator_destroy(itr); list_iterator_destroy(itr);
} }
if(!found_record|| if(!found_record ||
(found_record->cpus_per_bp == procs_per_node)) (found_record->cpus_per_bp == procs_per_node))
(*nodes) = bluegene_bp_node_cnt; (*nodes) = bluegene_bp_node_cnt;
else else
(*nodes) = found_record->node_cnt; (*nodes) = found_record->node_cnt;
break; break;
case SELECT_APPLY_NODE_MIN_OFFSET: case SELECT_APPLY_NODE_MIN_OFFSET:
if(bg_list) { if((*nodes) == 1) {
itr = list_iterator_create(bg_list); /* Job will actually get more than one c-node,
bg_record = (bg_record_t *)list_next(itr); * but we can't be sure exactly how much so we
list_iterator_destroy(itr); * don't scale up this value. */
break;
} }
if(!bg_record || (*nodes) *= bluegene_bp_node_cnt;
(bg_record->cpus_per_bp == procs_per_node))
(*nodes) *= bluegene_bp_node_cnt;
else
(*nodes) *= bg_record->node_cnt;
break; break;
case SELECT_APPLY_NODE_MAX_OFFSET: case SELECT_APPLY_NODE_MAX_OFFSET:
if(bg_list) { (*nodes) *= bluegene_bp_node_cnt;
itr = list_iterator_create(bg_list);
while ((bg_record = (bg_record_t *)
list_next(itr)) != NULL)
found_record = bg_record;
list_iterator_destroy(itr);
}
if(!found_record ||
(found_record->cpus_per_bp == procs_per_node))
(*nodes) *= bluegene_bp_node_cnt;
else
(*nodes) *= found_record->node_cnt;
break; break;
case SELECT_SET_NODE_CNT: case SELECT_SET_NODE_CNT:
select_g_get_jobinfo(job_desc->select_jobinfo, select_g_get_jobinfo(job_desc->select_jobinfo,
......
...@@ -711,8 +711,8 @@ void pack_part(struct part_record *part_ptr, Buf buffer) ...@@ -711,8 +711,8 @@ void pack_part(struct part_record *part_ptr, Buf buffer)
&altered); &altered);
pack32((uint32_t)altered, buffer); pack32((uint32_t)altered, buffer);
altered = part_ptr->min_nodes; altered = part_ptr->min_nodes;
/* select_g_alter_node_cnt(SELECT_APPLY_NODE_MIN_OFFSET, */ select_g_alter_node_cnt(SELECT_APPLY_NODE_MIN_OFFSET,
/* &altered); */ &altered);
pack32((uint32_t)altered, buffer); pack32((uint32_t)altered, buffer);
altered = part_ptr->total_nodes; altered = part_ptr->total_nodes;
select_g_alter_node_cnt(SELECT_APPLY_NODE_MAX_OFFSET, select_g_alter_node_cnt(SELECT_APPLY_NODE_MAX_OFFSET,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment