From 6203d4fc6af36b1fd60177e8a88b8d4d45acb029 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 --- .../pkg/util/flowcontrol/fairqueuing/queueset/queueset.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset/queueset.go b/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset/queueset.go index 7a4c5185489..5785e7a9c3f 100644 --- a/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset/queueset.go +++ b/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset/queueset.go @@ -414,9 +414,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++ } @@ -424,7 +424,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