Remove nodes slice in loop of takeByTopology

This commit is contained in:
Ted Yu 2019-11-29 12:12:22 -08:00
parent c58b63267c
commit 6415fa765e

View File

@ -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)