From e9708ba84d84e3b25ab0a1851d074f44672f9bba Mon Sep 17 00:00:00 2001 From: Abu Kashem Date: Mon, 21 Jun 2021 05:38:07 -0400 Subject: [PATCH] apf: calculation of dR/dt should use seats in use Kubernetes-commit: 6203d4fc6af36b1fd60177e8a88b8d4d45acb029 --- pkg/util/flowcontrol/fairqueuing/queueset/queueset.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/util/flowcontrol/fairqueuing/queueset/queueset.go b/pkg/util/flowcontrol/fairqueuing/queueset/queueset.go index 69562d728..fb9c2c442 100644 --- a/pkg/util/flowcontrol/fairqueuing/queueset/queueset.go +++ b/pkg/util/flowcontrol/fairqueuing/queueset/queueset.go @@ -413,9 +413,9 @@ func (qs *queueSet) syncTimeLocked() { // been advancing, according to the logic in `doc.go`. func (qs *queueSet) getVirtualTimeRatioLocked() float64 { activeQueues := 0 - reqs := 0 + seatsInUse := 0 for _, queue := range qs.queues { - reqs += queue.requestsExecuting + seatsInUse += queue.seatsInUse if queue.requests.Length() > 0 || queue.requestsExecuting > 0 { activeQueues++ } @@ -423,7 +423,7 @@ func (qs *queueSet) getVirtualTimeRatioLocked() float64 { if activeQueues == 0 { return 0 } - return math.Min(float64(reqs), float64(qs.dCfg.ConcurrencyLimit)) / float64(activeQueues) + return math.Min(float64(seatsInUse), float64(qs.dCfg.ConcurrencyLimit)) / float64(activeQueues) } // timeoutOldRequestsAndRejectOrEnqueueLocked encapsulates the logic required