From 8f2f6a93400501758c0f19cdef8511a2ee61195c Mon Sep 17 00:00:00 2001
From: Morris Jette <jette@schedmd.com>
Date: Fri, 21 Oct 2011 13:19:44 -0700
Subject: [PATCH] Job priority enahancements

Do not make duplicate/redundant calls to acct_policy_job_runnable()
and avoid setting a job's priority to 1 if state_reason is FAIL_ACCOUNT
(invalid account name).
---
 src/slurmctld/acct_policy.c   | 1 -
 src/slurmctld/job_scheduler.c | 8 ++------
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/src/slurmctld/acct_policy.c b/src/slurmctld/acct_policy.c
index 5a4aca2ac70..55a1d35ad45 100644
--- a/src/slurmctld/acct_policy.c
+++ b/src/slurmctld/acct_policy.c
@@ -947,7 +947,6 @@ extern bool acct_policy_job_runnable(struct job_record *job_ptr)
 
 	if (!_valid_job_assoc(job_ptr)) {
 		job_ptr->state_reason = FAIL_ACCOUNT;
-		job_ptr->priority = 1;	/* Move to end of queue */
 		return false;
 	}
 
diff --git a/src/slurmctld/job_scheduler.c b/src/slurmctld/job_scheduler.c
index 945b6d3eaa0..20e66277e69 100644
--- a/src/slurmctld/job_scheduler.c
+++ b/src/slurmctld/job_scheduler.c
@@ -201,9 +201,8 @@ extern List build_job_queue(bool clear_start)
 			while ((part_ptr = (struct part_record *)
 					list_next(part_iterator))) {
 				job_ptr->part_ptr = part_ptr;
-				if (!acct_policy_job_runnable(job_ptr) ||
-				    (job_limits_check(&job_ptr) !=
-				     WAIT_NO_REASON))
+				if (job_limits_check(&job_ptr) !=
+				    WAIT_NO_REASON)
 					continue;
 				_job_queue_append(job_queue, job_ptr, part_ptr);
 			}
@@ -222,9 +221,6 @@ extern List build_job_queue(bool clear_start)
 				      "part %s", job_ptr->job_id,
 				      job_ptr->partition);
 			}
-			if (!acct_policy_job_runnable_state(job_ptr) ||
-			    !acct_policy_job_runnable(job_ptr))
-				continue;
 			if (!part_policy_job_runnable_state(job_ptr)) {
 				if (job_limits_check(&job_ptr) ==
 				    WAIT_NO_REASON) {
-- 
GitLab