diff --git a/NEWS b/NEWS index 3f1bdda9d8a188d81f8c8511c9a170be6e09b99f..83d6d6aebccd838d6257e61feeeb852db26b229b 100644 --- a/NEWS +++ b/NEWS @@ -22,6 +22,8 @@ documents those changes that are of interest to users and admins. specific reservation. -- Treat reservation with no nodes like one that starts later (let jobs of any size get queued). + -- Fix bug in gang scheduling logic that would temporarily resume to many jobs + after a job completed. * Changes in SLURM 2.2.0 ======================== diff --git a/src/slurmctld/gang.c b/src/slurmctld/gang.c index 7e339df33606caca6b007ca2e299bdeaf920722b..d8af1351ec7a053b0b0421c70ee2e5bee1f3702f 100644 --- a/src/slurmctld/gang.c +++ b/src/slurmctld/gang.c @@ -687,7 +687,7 @@ static int _sort_partitions(void *part1, void *part2) { int prio1 = ((struct gs_part *) part1)->priority; int prio2 = ((struct gs_part *) part2)->priority; - return prio1 - prio2; + return prio2 - prio1; } /* Scan the partition list. Add the given job as a "shadow" to every diff --git a/src/slurmctld/power_save.c b/src/slurmctld/power_save.c index 7661fec39d368e8d536653d66f6e99cd16155126..e3d42753d37025359e8184c01ef540a234bc56e2 100644 --- a/src/slurmctld/power_save.c +++ b/src/slurmctld/power_save.c @@ -46,6 +46,10 @@ # include "config.h" #endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE +#endif + #include <signal.h> #include <stdlib.h> #include <string.h>