diff --git a/NEWS b/NEWS index 201d7376544bf39cd98a7b34e1f94b4f3b89e1f7..a383bc966a32a179d63aad584f718dd8c0f6d57e 100644 --- a/NEWS +++ b/NEWS @@ -41,6 +41,7 @@ documents those changes that are of interest to users and administrators. -- Make it so --mail-type=NONE didn't throw an invalid error. -- If no default account is given for a user when creating (only a list of accounts) no default account is printed, previously NULL was printed. + -- Fix for tracking a node's allocated CPUs with gang scheduling. * Changes in Slurm 15.08.11 =========================== diff --git a/src/plugins/select/cons_res/select_cons_res.c b/src/plugins/select/cons_res/select_cons_res.c index 3c8714acad174db486a0ca9e8ab9425428570066..89aca1ab0e468f4a9fce7d06b3018bcd3e1de685 100644 --- a/src/plugins/select/cons_res/select_cons_res.c +++ b/src/plugins/select/cons_res/select_cons_res.c @@ -2535,9 +2535,12 @@ extern int select_p_select_nodeinfo_set(struct job_record *job_ptr) if (IS_JOB_RUNNING(job_ptr)) rc = _add_job_to_res(job_ptr, 0); - else if (IS_JOB_SUSPENDED(job_ptr)) - rc = _add_job_to_res(job_ptr, 1); - else + else if (IS_JOB_SUSPENDED(job_ptr)) { + if (job_ptr->priority == 0) + rc = _add_job_to_res(job_ptr, 1); + else /* Gang schedule suspend */ + rc = _add_job_to_res(job_ptr, 0); + } else return SLURM_SUCCESS; gres_plugin_job_state_log(job_ptr->gres_list, job_ptr->job_id); @@ -2743,7 +2746,10 @@ extern int select_p_reconfigure(void) _add_job_to_res(job_ptr, 0); } else if (IS_JOB_SUSPENDED(job_ptr)) { /* add the job in a suspended state */ - _add_job_to_res(job_ptr, 1); + if (job_ptr->priority == 0) + rc = _add_job_to_res(job_ptr, 1); + else /* Gang schedule suspend */ + rc = _add_job_to_res(job_ptr, 0); } else if (_job_cleaning(job_ptr)) { cleaning_job_cnt++; run_time = (int) difftime(now, job_ptr->end_time);