Skip to content
Snippets Groups Projects
Commit 1a5e1936 authored by Morris Jette's avatar Morris Jette
Browse files

Revert commit 5deba75c

While this change lets gang scheduling happen, it overallocates
resources from different priority partitions when gang scheduling
is not running.
parent c99d6f2e
No related branches found
No related tags found
No related merge requests found
...@@ -5,8 +5,6 @@ documents those changes that are of interest to users and admins. ...@@ -5,8 +5,6 @@ documents those changes that are of interest to users and admins.
============================= =============================
-- Added Prolog and Epilog Guide (web page). Based upon work by Jason Sollom, -- Added Prolog and Epilog Guide (web page). Based upon work by Jason Sollom,
Cray Inc. and used by permission. Cray Inc. and used by permission.
-- Fix bug in allocating resources with Shared=NO and gang scheduling.
Preemptor was not being scheduled. Fix bugzilla #3.
* Changes in SLURM 2.5.0.pre3 * Changes in SLURM 2.5.0.pre3
============================= =============================
......
...@@ -2165,6 +2165,19 @@ extern int cr_job_test(struct job_record *job_ptr, bitstr_t *bitmap, ...@@ -2165,6 +2165,19 @@ extern int cr_job_test(struct job_record *job_ptr, bitstr_t *bitmap,
} }
goto alloc_job; goto alloc_job;
} }
if (job_node_req == NODE_CR_ONE_ROW) {
/* This job CANNOT share CPUs regardless of priority,
* so we fail here. Note that Shared=EXCLUSIVE was already
* addressed in _verify_node_state() and job preemption
* removes jobs from simulated resource allocation map
* before this point. */
if (select_debug_flags & DEBUG_FLAG_CPU_BIND) {
info("cons_res: cr_job_test: test 1 fail - "
"no idle resources available");
}
goto alloc_job;
}
if (select_debug_flags & DEBUG_FLAG_CPU_BIND) { if (select_debug_flags & DEBUG_FLAG_CPU_BIND) {
info("cons_res: cr_job_test: test 1 fail - " info("cons_res: cr_job_test: test 1 fail - "
"not enough idle resources"); "not enough idle resources");
......
...@@ -600,6 +600,19 @@ extern int cr_job_test(struct job_record *job_ptr, bitstr_t *bitmap, int mode, ...@@ -600,6 +600,19 @@ extern int cr_job_test(struct job_record *job_ptr, bitstr_t *bitmap, int mode,
} }
goto alloc_job; goto alloc_job;
} }
if (job_node_req == NODE_CR_ONE_ROW) {
/* This job CANNOT share CPUs regardless of priority,
* so we fail here. Note that Shared=EXCLUSIVE was already
* addressed in _verify_node_state() and job preemption
* removes jobs from simulated resource allocation map
* before this point. */
if (select_debug_flags & DEBUG_FLAG_CPU_BIND) {
info("select/serial: cr_job_test: test 1 fail - "
"no idle resources available");
}
goto alloc_job;
}
if (select_debug_flags & DEBUG_FLAG_CPU_BIND) { if (select_debug_flags & DEBUG_FLAG_CPU_BIND) {
info("select/serial: cr_job_test: test 1 fail - " info("select/serial: cr_job_test: test 1 fail - "
"not enough idle resources"); "not enough idle resources");
......
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