From ece8f42ea2558bbc19560d3bb805900ef2f34c39 Mon Sep 17 00:00:00 2001 From: "Bobby (Babak) Salamat" Date: Tue, 4 Dec 2018 17:58:28 -0800 Subject: [PATCH] Run old-style priority functions in parallel to the map-reduce style ones --- pkg/scheduler/core/generic_scheduler.go | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/pkg/scheduler/core/generic_scheduler.go b/pkg/scheduler/core/generic_scheduler.go index 236de25d75..6f4d9f4eb9 100644 --- a/pkg/scheduler/core/generic_scheduler.go +++ b/pkg/scheduler/core/generic_scheduler.go @@ -657,19 +657,21 @@ func PrioritizeNodes( // DEPRECATED: we can remove this when all priorityConfigs implement the // Map-Reduce pattern. - workqueue.ParallelizeUntil(context.TODO(), 16, len(priorityConfigs), func(i int) { - priorityConfig := priorityConfigs[i] - if priorityConfig.Function == nil { + for i := range priorityConfigs { + if priorityConfigs[i].Function != nil { + wg.Add(1) + go func(index int) { + defer wg.Done() + var err error + results[index], err = priorityConfigs[index].Function(pod, nodeNameToInfo, nodes) + if err != nil { + appendError(err) + } + }(i) + } else { results[i] = make(schedulerapi.HostPriorityList, len(nodes)) - return } - - var err error - results[i], err = priorityConfig.Function(pod, nodeNameToInfo, nodes) - if err != nil { - appendError(err) - } - }) + } workqueue.ParallelizeUntil(context.TODO(), 16, len(nodes), func(index int) { nodeInfo := nodeNameToInfo[nodes[index].Name]