mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 14:37:00 +00:00
Avoid copying Extender struct while running priority functions
This commit is contained in:
parent
70f923ed05
commit
76591db7d4
@ -694,12 +694,12 @@ func PrioritizeNodes(
|
|||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(index int) {
|
go func(index int) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
if err := priorityConfigs[i].Reduce(pod, meta, nodeNameToInfo, results[index]); err != nil {
|
if err := priorityConfigs[index].Reduce(pod, meta, nodeNameToInfo, results[index]); err != nil {
|
||||||
appendError(err)
|
appendError(err)
|
||||||
}
|
}
|
||||||
if klog.V(10) {
|
if klog.V(10) {
|
||||||
for _, hostPriority := range results[index] {
|
for _, hostPriority := range results[index] {
|
||||||
klog.Infof("%v -> %v: %v, Score: (%d)", util.GetPodFullName(pod), hostPriority.Host, priorityConfigs[i].Name, hostPriority.Score)
|
klog.Infof("%v -> %v: %v, Score: (%d)", util.GetPodFullName(pod), hostPriority.Host, priorityConfigs[index].Name, hostPriority.Score)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}(i)
|
}(i)
|
||||||
@ -722,14 +722,14 @@ func PrioritizeNodes(
|
|||||||
|
|
||||||
if len(extenders) != 0 && nodes != nil {
|
if len(extenders) != 0 && nodes != nil {
|
||||||
combinedScores := make(map[string]int, len(nodeNameToInfo))
|
combinedScores := make(map[string]int, len(nodeNameToInfo))
|
||||||
for _, extender := range extenders {
|
for i := range extenders {
|
||||||
if !extender.IsInterested(pod) {
|
if !extenders[i].IsInterested(pod) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(ext algorithm.SchedulerExtender) {
|
go func(extIndex int) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
prioritizedList, weight, err := ext.Prioritize(pod, nodes)
|
prioritizedList, weight, err := extenders[extIndex].Prioritize(pod, nodes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// Prioritization errors from extender can be ignored, let k8s/other extenders determine the priorities
|
// Prioritization errors from extender can be ignored, let k8s/other extenders determine the priorities
|
||||||
return
|
return
|
||||||
@ -738,12 +738,12 @@ func PrioritizeNodes(
|
|||||||
for i := range *prioritizedList {
|
for i := range *prioritizedList {
|
||||||
host, score := (*prioritizedList)[i].Host, (*prioritizedList)[i].Score
|
host, score := (*prioritizedList)[i].Host, (*prioritizedList)[i].Score
|
||||||
if klog.V(10) {
|
if klog.V(10) {
|
||||||
klog.Infof("%v -> %v: %v, Score: (%d)", util.GetPodFullName(pod), host, ext.Name(), score)
|
klog.Infof("%v -> %v: %v, Score: (%d)", util.GetPodFullName(pod), host, extenders[extIndex].Name(), score)
|
||||||
}
|
}
|
||||||
combinedScores[host] += score * weight
|
combinedScores[host] += score * weight
|
||||||
}
|
}
|
||||||
mu.Unlock()
|
mu.Unlock()
|
||||||
}(extender)
|
}(i)
|
||||||
}
|
}
|
||||||
// wait for all go routines to finish
|
// wait for all go routines to finish
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
Loading…
Reference in New Issue
Block a user