From 78ed3cc8b36c0f04c55a6c51c60267a11973ba04 Mon Sep 17 00:00:00 2001
From: Dominik Bartkiewicz <bart@schedmd.com>
Date: Tue, 18 Aug 2020 14:45:02 +0200
Subject: [PATCH] Performance improvement for systems without enabled
 preemption.

Call _add_preemptable_job() only if job uses max_start_delay reservation or
system has enabled preeamption.

Bug 9537
---
 src/slurmctld/preempt.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/slurmctld/preempt.c b/src/slurmctld/preempt.c
index e7cabada597..63047f58e57 100644
--- a/src/slurmctld/preempt.c
+++ b/src/slurmctld/preempt.c
@@ -293,7 +293,9 @@ extern List slurm_find_preemptable_jobs(job_record_t *job_ptr)
 	}
 
 	/* Build an array of pointers to preemption candidates */
-	list_for_each(job_list, _add_preemptable_job, &candidates);
+	if (slurm_preemption_enabled() ||
+	    job_uses_max_start_delay_resv(job_ptr))
+		list_for_each(job_list, _add_preemptable_job, &candidates);
 
 	if (candidates.preemptee_job_list && youngest_order)
 		list_sort(candidates.preemptee_job_list, _sort_by_youngest);
-- 
GitLab