scheduler: preallocation for NodeToStatusMap

This commit is contained in:
Kensei Nakada 2024-05-07 00:01:24 +00:00
parent 8946348636
commit 9fcd791c01

View File

@ -441,13 +441,16 @@ func (sched *Scheduler) schedulePod(ctx context.Context, fwk framework.Framework
// filter plugins and filter extenders. // filter plugins and filter extenders.
func (sched *Scheduler) findNodesThatFitPod(ctx context.Context, fwk framework.Framework, state *framework.CycleState, pod *v1.Pod) ([]*framework.NodeInfo, framework.Diagnosis, error) { func (sched *Scheduler) findNodesThatFitPod(ctx context.Context, fwk framework.Framework, state *framework.CycleState, pod *v1.Pod) ([]*framework.NodeInfo, framework.Diagnosis, error) {
logger := klog.FromContext(ctx) logger := klog.FromContext(ctx)
diagnosis := framework.Diagnosis{
NodeToStatusMap: make(framework.NodeToStatusMap),
}
allNodes, err := sched.nodeInfoSnapshot.NodeInfos().List() allNodes, err := sched.nodeInfoSnapshot.NodeInfos().List()
if err != nil { if err != nil {
return nil, diagnosis, err return nil, framework.Diagnosis{
NodeToStatusMap: make(framework.NodeToStatusMap),
}, err
}
diagnosis := framework.Diagnosis{
NodeToStatusMap: make(framework.NodeToStatusMap, len(allNodes)),
} }
// Run "prefilter" plugins. // Run "prefilter" plugins.
preRes, s := fwk.RunPreFilterPlugins(ctx, state, pod) preRes, s := fwk.RunPreFilterPlugins(ctx, state, pod)