Merge pull request #85706 from yutedz/per-node-dev

Remove nodes slice in loop of takeByTopology
This commit is contained in:
Kubernetes Prow Robot 2019-12-05 13:50:30 -08:00 committed by GitHub
commit ad5d4c4705
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -690,21 +690,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)
}
}
@ -736,7 +736,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)