elaborate comments

This commit is contained in:
Kensei Nakada 2024-06-20 23:36:05 +00:00
parent dd3af9a85b
commit 2c4dc6b65b

View File

@ -1194,8 +1194,14 @@ func (p *PriorityQueue) movePodsToActiveOrBackoffQueue(logger klog.Logger, podIn
activated := false
for _, pInfo := range podInfoList {
// Since there may be many gated pods and they will not move from the
// unschedulable pool, we skip calling the expensive isPodWorthRequeueing.
// Scheduling-gated Pods never get schedulable with any events,
// except the Pods themselves got updated, which isn't handled by movePodsToActiveOrBackoffQueue.
// So, here we skip them early here so that they don't go through isPodWorthRequeuing,
// which isn't fast enough when the number of scheduling-gated Pods in unschedulablePods is large.
//
// Note that we cannot skip all pInfo.Gated Pods here
// because PreEnqueue plugins apart from the scheduling gate plugin may change the gating status
// with these events.
if pInfo.Gated && pInfo.UnschedulablePlugins.Has(names.SchedulingGates) {
continue
}