mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 21:47:07 +00:00
Merge pull request #85706 from yutedz/per-node-dev
Remove nodes slice in loop of takeByTopology
This commit is contained in:
commit
ad5d4c4705
@ -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
|
// available device does not have any NUMA Nodes associated with it, add it
|
||||||
// to a list of NUMA Nodes for the fake NUMANode -1.
|
// to a list of NUMA Nodes for the fake NUMANode -1.
|
||||||
perNodeDevices := make(map[int]sets.String)
|
perNodeDevices := make(map[int]sets.String)
|
||||||
|
nodeWithoutTopology := -1
|
||||||
for d := range available {
|
for d := range available {
|
||||||
var nodes []int
|
if m.allDevices[resource][d].Topology == nil || len(m.allDevices[resource][d].Topology.Nodes) == 0 {
|
||||||
if m.allDevices[resource][d].Topology != nil {
|
if _, ok := perNodeDevices[nodeWithoutTopology]; !ok {
|
||||||
|
perNodeDevices[nodeWithoutTopology] = sets.NewString()
|
||||||
|
}
|
||||||
|
perNodeDevices[nodeWithoutTopology].Insert(d)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
for _, node := range m.allDevices[resource][d].Topology.Nodes {
|
for _, node := range m.allDevices[resource][d].Topology.Nodes {
|
||||||
nodes = append(nodes, int(node.ID))
|
if _, ok := perNodeDevices[int(node.ID)]; !ok {
|
||||||
|
perNodeDevices[int(node.ID)] = sets.NewString()
|
||||||
}
|
}
|
||||||
}
|
perNodeDevices[int(node.ID)].Insert(d)
|
||||||
if len(nodes) == 0 {
|
|
||||||
nodes = []int{-1}
|
|
||||||
}
|
|
||||||
for _, node := range nodes {
|
|
||||||
if _, ok := perNodeDevices[node]; !ok {
|
|
||||||
perNodeDevices[node] = sets.NewString()
|
|
||||||
}
|
|
||||||
perNodeDevices[node].Insert(d)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -736,7 +736,7 @@ func (m *ManagerImpl) takeByTopology(resource string, available sets.String, aff
|
|||||||
// has the device is encountered.
|
// has the device is encountered.
|
||||||
for _, n := range nodes {
|
for _, n := range nodes {
|
||||||
if perNodeDevices[n].Has(d) {
|
if perNodeDevices[n].Has(d) {
|
||||||
if n == -1 {
|
if n == nodeWithoutTopology {
|
||||||
withoutTopology = append(withoutTopology, d)
|
withoutTopology = append(withoutTopology, d)
|
||||||
} else if affinity.IsSet(n) {
|
} else if affinity.IsSet(n) {
|
||||||
fromAffinity = append(fromAffinity, d)
|
fromAffinity = append(fromAffinity, d)
|
||||||
|
Loading…
Reference in New Issue
Block a user