@@ -690,21 +690,21 @@ func (m *ManagerImpl) takeByTopology(resource string, available sets.String, aff
690
690
// available device does not have any NUMA Nodes associated with it, add it
691
691
// to a list of NUMA Nodes for the fake NUMANode -1.
692
692
perNodeDevices := make (map [int ]sets.String )
693
+ nodeWithoutTopology := - 1
693
694
for d := range available {
694
- var nodes []int
695
- if m.allDevices [resource ][d ].Topology != nil {
696
- for _ , node := range m.allDevices [resource ][d ].Topology .Nodes {
697
- nodes = append (nodes , int (node .ID ))
695
+ if m.allDevices [resource ][d ].Topology == nil || len (m.allDevices [resource ][d ].Topology .Nodes ) == 0 {
696
+ if _ , ok := perNodeDevices [nodeWithoutTopology ]; ! ok {
697
+ perNodeDevices [nodeWithoutTopology ] = sets .NewString ()
698
698
}
699
+ perNodeDevices [nodeWithoutTopology ].Insert (d )
700
+ continue
699
701
}
700
- if len (nodes ) == 0 {
701
- nodes = []int {- 1 }
702
- }
703
- for _ , node := range nodes {
704
- if _ , ok := perNodeDevices [node ]; ! ok {
705
- perNodeDevices [node ] = sets .NewString ()
702
+
703
+ for _ , node := range m.allDevices [resource ][d ].Topology .Nodes {
704
+ if _ , ok := perNodeDevices [int (node .ID )]; ! ok {
705
+ perNodeDevices [int (node .ID )] = sets .NewString ()
706
706
}
707
- perNodeDevices [node ].Insert (d )
707
+ perNodeDevices [int ( node . ID ) ].Insert (d )
708
708
}
709
709
}
710
710
@@ -736,7 +736,7 @@ func (m *ManagerImpl) takeByTopology(resource string, available sets.String, aff
736
736
// has the device is encountered.
737
737
for _ , n := range nodes {
738
738
if perNodeDevices [n ].Has (d ) {
739
- if n == - 1 {
739
+ if n == nodeWithoutTopology {
740
740
withoutTopology = append (withoutTopology , d )
741
741
} else if affinity .IsSet (n ) {
742
742
fromAffinity = append (fromAffinity , d )
0 commit comments