From 6415fa765e2c0b95cc1753d4dfbd32ada0c8cae2 Mon Sep 17 00:00:00 2001 From: Ted Yu Date: Fri, 29 Nov 2019 12:12:22 -0800 Subject: [PATCH] Remove nodes slice in loop of takeByTopology --- pkg/kubelet/cm/devicemanager/manager.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pkg/kubelet/cm/devicemanager/manager.go b/pkg/kubelet/cm/devicemanager/manager.go index 03b217a788d..bc78fc18c43 100644 --- a/pkg/kubelet/cm/devicemanager/manager.go +++ b/pkg/kubelet/cm/devicemanager/manager.go @@ -688,21 +688,21 @@ func (m *ManagerImpl) takeByTopology(resource string, available sets.String, aff // available device does not have any NUMA Nodes associated with it, add it // to a list of NUMA Nodes for the fake NUMANode -1. perNodeDevices := make(map[int]sets.String) + nodeWithoutTopology := -1 for d := range available { - var nodes []int - if m.allDevices[resource][d].Topology != nil { - for _, node := range m.allDevices[resource][d].Topology.Nodes { - nodes = append(nodes, int(node.ID)) + if m.allDevices[resource][d].Topology == nil || len(m.allDevices[resource][d].Topology.Nodes) == 0 { + if _, ok := perNodeDevices[nodeWithoutTopology]; !ok { + perNodeDevices[nodeWithoutTopology] = sets.NewString() } + perNodeDevices[nodeWithoutTopology].Insert(d) + continue } - if len(nodes) == 0 { - nodes = []int{-1} - } - for _, node := range nodes { - if _, ok := perNodeDevices[node]; !ok { - perNodeDevices[node] = sets.NewString() + + for _, node := range m.allDevices[resource][d].Topology.Nodes { + if _, ok := perNodeDevices[int(node.ID)]; !ok { + perNodeDevices[int(node.ID)] = sets.NewString() } - perNodeDevices[node].Insert(d) + perNodeDevices[int(node.ID)].Insert(d) } } @@ -734,7 +734,7 @@ func (m *ManagerImpl) takeByTopology(resource string, available sets.String, aff // has the device is encountered. for _, n := range nodes { if perNodeDevices[n].Has(d) { - if n == -1 { + if n == nodeWithoutTopology { withoutTopology = append(withoutTopology, d) } else if affinity.IsSet(n) { fromAffinity = append(fromAffinity, d)