From f0023bac4a38bdbde5344d50a614717c1f5e2e96 Mon Sep 17 00:00:00 2001
From: Dominik Bartkiewicz <bart@schedmd.com>
Date: Thu, 25 May 2017 15:50:30 -0600
Subject: [PATCH] Simpler bit operations from previous commit

Bug 3756
---
 src/slurmctld/job_scheduler.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/src/slurmctld/job_scheduler.c b/src/slurmctld/job_scheduler.c
index 0acbd13cf20..c95a9653680 100644
--- a/src/slurmctld/job_scheduler.c
+++ b/src/slurmctld/job_scheduler.c
@@ -1483,18 +1483,12 @@ static int _schedule(uint32_t job_limit)
 
 		while ((part_ptr =
 		      (struct part_record *) list_next(part_iterator))) {
-
-			bitstr_t *working = bit_copy(eff_cg_bitmap);
-			bit_and(working, part_ptr->node_bitmap);
-			if (bit_set_count(working) > 0) {
+			if (bit_overlap(eff_cg_bitmap, part_ptr->node_bitmap)) {
 				failed_parts[failed_part_cnt++] = part_ptr;
-				bit_not(part_ptr->node_bitmap);
-				bit_and(avail_node_bitmap,
-				        part_ptr->node_bitmap);
-				bit_not(part_ptr->node_bitmap);
 				xstrfmtcat(cg_part_str, "%s,", part_ptr->name);
+				bit_and_not(avail_node_bitmap,
+					    part_ptr->node_bitmap);
 			}
-			bit_free(working);
 		}
 		debug("sched: some job is still completing, skipping %s "
 		      "partitions", cg_part_str);
-- 
GitLab