From aa8b5b431b2451b5670e0f89b8b159d60fb7a50b Mon Sep 17 00:00:00 2001 From: "Bobby (Babak) Salamat" Date: Fri, 2 Nov 2018 20:56:17 -0700 Subject: [PATCH] Hold mutex lock shorter when processing inter-pod affinity/anti-affinity priority function --- .../algorithm/priorities/interpod_affinity.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pkg/scheduler/algorithm/priorities/interpod_affinity.go b/pkg/scheduler/algorithm/priorities/interpod_affinity.go index 7e640566c82..7b3246e56d1 100644 --- a/pkg/scheduler/algorithm/priorities/interpod_affinity.go +++ b/pkg/scheduler/algorithm/priorities/interpod_affinity.go @@ -92,15 +92,13 @@ func (p *podAffinityPriorityMap) processTerm(term *v1.PodAffinityTerm, podDefini } match := priorityutil.PodMatchesTermsNamespaceAndSelector(podToCheck, namespaces, selector) if match { - func() { - p.Lock() - defer p.Unlock() - for _, node := range p.nodes { - if priorityutil.NodesHaveSameTopologyKey(node, fixedNode, term.TopologyKey) { - p.counts[node.Name] += weight - } + for _, node := range p.nodes { + if priorityutil.NodesHaveSameTopologyKey(node, fixedNode, term.TopologyKey) { + p.Lock() + p.counts[node.Name] += weight + p.Unlock() } - }() + } } }