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