From dbdc78241254eab496eb910da2a1cdc0277697c6 Mon Sep 17 00:00:00 2001 From: Ted Yu Date: Mon, 25 Mar 2019 15:53:00 -0700 Subject: [PATCH] Simplify the loop for latest start time in pickOneNodeForPreemption --- pkg/scheduler/core/generic_scheduler.go | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/pkg/scheduler/core/generic_scheduler.go b/pkg/scheduler/core/generic_scheduler.go index e84cf3fcd0b..ef8d322c098 100644 --- a/pkg/scheduler/core/generic_scheduler.go +++ b/pkg/scheduler/core/generic_scheduler.go @@ -916,8 +916,8 @@ func pickOneNodeForPreemption(nodesToVictims map[*v1.Node]*schedulerapi.Victims) klog.Errorf("earliestStartTime is nil for node %s. Should not reach here.", minNodes2[0]) return minNodes2[0] } - lenNodes1 = 0 - for i := 0; i < lenNodes2; i++ { + nodeToReturn := minNodes2[0] + for i := 1; i < lenNodes2; i++ { node := minNodes2[i] // Get earliest start time of all pods on the current node. earliestStartTimeOnNode := util.GetEarliestPodStartTime(nodesToVictims[node]) @@ -927,22 +927,11 @@ func pickOneNodeForPreemption(nodesToVictims map[*v1.Node]*schedulerapi.Victims) } if earliestStartTimeOnNode.After(latestStartTime.Time) { latestStartTime = earliestStartTimeOnNode - lenNodes1 = 0 - } - if earliestStartTimeOnNode.Equal(latestStartTime) { - minNodes1[lenNodes1] = node - lenNodes1++ + nodeToReturn = node } } - // At this point, even if there are more than one node with the same score, - // return the first one. - if lenNodes1 > 0 { - return minNodes1[0] - } - - klog.Errorf("Error in logic of node scoring for preemption. We should never reach here!") - return nil + return nodeToReturn } // selectNodesForPreemption finds all the nodes with possible victims for