Skip to content

Commit 7c90f7d

Browse files
authored
Merge pull request kubernetes#77686 from tedyu/preempt-qty
Break out of inner loop when newQuantity is negative in admissionRequirementList#subtract
2 parents 80537a9 + 0ec1f85 commit 7c90f7d

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

pkg/kubelet/preemption/preemption.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,10 +191,9 @@ func (a admissionRequirementList) distance(pod *v1.Pod) float64 {
191191
dist := float64(0)
192192
for _, req := range a {
193193
remainingRequest := float64(req.quantity - resource.GetResourceRequest(pod, req.resourceName))
194-
if remainingRequest < 0 {
195-
remainingRequest = 0
194+
if remainingRequest > 0 {
195+
dist += math.Pow(remainingRequest/float64(req.quantity), 2)
196196
}
197-
dist += math.Pow(remainingRequest/float64(req.quantity), 2)
198197
}
199198
return dist
200199
}
@@ -207,6 +206,9 @@ func (a admissionRequirementList) subtract(pods ...*v1.Pod) admissionRequirement
207206
newQuantity := req.quantity
208207
for _, pod := range pods {
209208
newQuantity -= resource.GetResourceRequest(pod, req.resourceName)
209+
if newQuantity <= 0 {
210+
break
211+
}
210212
}
211213
if newQuantity > 0 {
212214
newList = append(newList, &admissionRequirement{

0 commit comments

Comments
 (0)