mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 09:49:50 +00:00
uncore: more testcases
add multi-uncore real topology and use it by starting the policy allocation tests Signed-off-by: Francesco Romani <fromani@redhat.com>
This commit is contained in:
parent
0f7becbc44
commit
919e8a62e9
@ -22,6 +22,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/types"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
||||||
pkgfeatures "k8s.io/kubernetes/pkg/features"
|
pkgfeatures "k8s.io/kubernetes/pkg/features"
|
||||||
@ -1147,6 +1148,168 @@ func TestStaticPolicyAddWithResvList(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func WithPodUID(pod *v1.Pod, podUID string) *v1.Pod {
|
||||||
|
ret := pod.DeepCopy()
|
||||||
|
ret.UID = types.UID(podUID)
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestStaticPolicyAddWithUncoreAlignment(t *testing.T) {
|
||||||
|
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, pkgfeatures.CPUManagerPolicyAlphaOptions, true)
|
||||||
|
|
||||||
|
testCases := []staticPolicyTestWithResvList{
|
||||||
|
{
|
||||||
|
description: "GuPodSingleContainerSaturating, DualSocketHTUncore, ExpectAllocOneUncore, FullUncoreAvail",
|
||||||
|
topo: topoDualSocketMultiNumaPerSocketUncore,
|
||||||
|
numReservedCPUs: 8,
|
||||||
|
reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 16
|
||||||
|
cpuPolicyOptions: map[string]string{
|
||||||
|
FullPCPUsOnlyOption: "true",
|
||||||
|
PreferAlignByUnCoreCacheOption: "true",
|
||||||
|
},
|
||||||
|
stAssignments: state.ContainerCPUAssignments{},
|
||||||
|
// remove partially used uncores from the available CPUs to simulate fully clean slate
|
||||||
|
stDefaultCPUSet: topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUs().Difference(
|
||||||
|
cpuset.New().Union(
|
||||||
|
topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(0),
|
||||||
|
).Union(
|
||||||
|
topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(16),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
pod: WithPodUID(
|
||||||
|
makeMultiContainerPod(
|
||||||
|
[]struct{ request, limit string }{}, // init container
|
||||||
|
[]struct{ request, limit string }{ // app container
|
||||||
|
{"16000m", "16000m"}, // CpusPerUncore=16 with this topology
|
||||||
|
},
|
||||||
|
),
|
||||||
|
"with-app-container-saturating",
|
||||||
|
),
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
description: "GuPodMainAndSidecarContainer, DualSocketHTUncore, ExpectAllocOneUncore, FullUncoreAvail",
|
||||||
|
topo: topoDualSocketMultiNumaPerSocketUncore,
|
||||||
|
numReservedCPUs: 8,
|
||||||
|
reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 16
|
||||||
|
cpuPolicyOptions: map[string]string{
|
||||||
|
FullPCPUsOnlyOption: "true",
|
||||||
|
PreferAlignByUnCoreCacheOption: "true",
|
||||||
|
},
|
||||||
|
stAssignments: state.ContainerCPUAssignments{},
|
||||||
|
// remove partially used uncores from the available CPUs to simulate fully clean slate
|
||||||
|
stDefaultCPUSet: topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUs().Difference(
|
||||||
|
cpuset.New().Union(
|
||||||
|
topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(0),
|
||||||
|
).Union(
|
||||||
|
topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(16),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
pod: WithPodUID(
|
||||||
|
makeMultiContainerPod(
|
||||||
|
[]struct{ request, limit string }{}, // init container
|
||||||
|
[]struct{ request, limit string }{ // app container
|
||||||
|
{"12000m", "12000m"},
|
||||||
|
{"2000m", "2000m"},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
"with-app-container-and-sidecar",
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description: "GuPodSidecarAndMainContainer, DualSocketHTUncore, ExpectAllocOneUncore, FullUncoreAvail",
|
||||||
|
topo: topoDualSocketMultiNumaPerSocketUncore,
|
||||||
|
numReservedCPUs: 8,
|
||||||
|
reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 16
|
||||||
|
cpuPolicyOptions: map[string]string{
|
||||||
|
FullPCPUsOnlyOption: "true",
|
||||||
|
PreferAlignByUnCoreCacheOption: "true",
|
||||||
|
},
|
||||||
|
stAssignments: state.ContainerCPUAssignments{},
|
||||||
|
// remove partially used uncores from the available CPUs to simulate fully clean slate
|
||||||
|
stDefaultCPUSet: topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUs().Difference(
|
||||||
|
cpuset.New().Union(
|
||||||
|
topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(0),
|
||||||
|
).Union(
|
||||||
|
topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(16),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
pod: WithPodUID(
|
||||||
|
makeMultiContainerPod(
|
||||||
|
[]struct{ request, limit string }{}, // init container
|
||||||
|
[]struct{ request, limit string }{ // app container
|
||||||
|
{"2000m", "2000m"},
|
||||||
|
{"12000m", "12000m"},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
"with-sidecar-and-app-container",
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description: "GuPodMainAndManySidecarContainer, DualSocketHTUncore, ExpectAllocOneUncore, FullUncoreAvail",
|
||||||
|
topo: topoDualSocketMultiNumaPerSocketUncore,
|
||||||
|
numReservedCPUs: 8,
|
||||||
|
reserved: cpuset.New(0, 1, 96, 97, 192, 193, 288, 289), // note 4 cpus taken from uncore 0, 4 from uncore 16
|
||||||
|
cpuPolicyOptions: map[string]string{
|
||||||
|
FullPCPUsOnlyOption: "true",
|
||||||
|
PreferAlignByUnCoreCacheOption: "true",
|
||||||
|
},
|
||||||
|
stAssignments: state.ContainerCPUAssignments{},
|
||||||
|
// remove partially used uncores from the available CPUs to simulate fully clean slate
|
||||||
|
stDefaultCPUSet: topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUs().Difference(
|
||||||
|
cpuset.New().Union(
|
||||||
|
topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(0),
|
||||||
|
).Union(
|
||||||
|
topoDualSocketMultiNumaPerSocketUncore.CPUDetails.CPUsInUncoreCaches(16),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
pod: WithPodUID(
|
||||||
|
makeMultiContainerPod(
|
||||||
|
[]struct{ request, limit string }{}, // init container
|
||||||
|
[]struct{ request, limit string }{ // app container
|
||||||
|
{"10000m", "10000m"},
|
||||||
|
{"2000m", "2000m"},
|
||||||
|
{"2000m", "2000m"},
|
||||||
|
{"2000m", "2000m"},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
"with-app-container-and-multi-sidecar",
|
||||||
|
),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, testCase := range testCases {
|
||||||
|
t.Run(testCase.description, func(t *testing.T) {
|
||||||
|
policy, err := NewStaticPolicy(testCase.topo, testCase.numReservedCPUs, testCase.reserved, topologymanager.NewFakeManager(), testCase.cpuPolicyOptions)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("NewStaticPolicy() failed with %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
st := &mockState{
|
||||||
|
assignments: testCase.stAssignments,
|
||||||
|
defaultCPUSet: testCase.stDefaultCPUSet.Difference(testCase.reserved), // ensure the cpumanager invariant
|
||||||
|
}
|
||||||
|
|
||||||
|
for idx := range testCase.pod.Spec.Containers {
|
||||||
|
container := &testCase.pod.Spec.Containers[idx]
|
||||||
|
err := policy.Allocate(st, testCase.pod, container)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Allocate failed: pod=%q container=%q", testCase.pod.UID, container.Name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
uncoreCacheIDs, err := getPodUncoreCacheIDs(st, testCase.topo, testCase.pod)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("uncore cache check: %v", err.Error())
|
||||||
|
}
|
||||||
|
ids := cpuset.New(uncoreCacheIDs...)
|
||||||
|
if ids.Size() != 1 {
|
||||||
|
t.Fatalf("not all container on the same uncore cache: %s", ids.String())
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type staticPolicyOptionTestCase struct {
|
type staticPolicyOptionTestCase struct {
|
||||||
description string
|
description string
|
||||||
policyOptions map[string]string
|
policyOptions map[string]string
|
||||||
@ -1274,3 +1437,22 @@ func newCPUSetPtr(cpus ...int) *cpuset.CPUSet {
|
|||||||
ret := cpuset.New(cpus...)
|
ret := cpuset.New(cpus...)
|
||||||
return &ret
|
return &ret
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getPodUncoreCacheIDs(s state.Reader, topo *topology.CPUTopology, pod *v1.Pod) ([]int, error) {
|
||||||
|
var uncoreCacheIDs []int
|
||||||
|
for idx := range pod.Spec.Containers {
|
||||||
|
container := &pod.Spec.Containers[idx]
|
||||||
|
cset, ok := s.GetCPUSet(string(pod.UID), container.Name)
|
||||||
|
if !ok {
|
||||||
|
return nil, fmt.Errorf("GetCPUSet(%s, %s) not ok", pod.UID, container.Name)
|
||||||
|
}
|
||||||
|
for _, cpuID := range cset.UnsortedList() {
|
||||||
|
info, ok := topo.CPUDetails[cpuID]
|
||||||
|
if !ok {
|
||||||
|
return nil, fmt.Errorf("cpuID %v not in topo.CPUDetails", cpuID)
|
||||||
|
}
|
||||||
|
uncoreCacheIDs = append(uncoreCacheIDs, info.UncoreCacheID)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return uncoreCacheIDs, nil
|
||||||
|
}
|
||||||
|
@ -993,4 +993,408 @@ var (
|
|||||||
255: {CoreID: 127, SocketID: 1, NUMANodeID: 7},
|
255: {CoreID: 127, SocketID: 1, NUMANodeID: 7},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
Topology from dual AMD EPYC 9654 96-Core Processor; lscpu excerpt
|
||||||
|
CPU(s): 384
|
||||||
|
On-line CPU(s) list: 0-383
|
||||||
|
Thread(s) per core: 2
|
||||||
|
Core(s) per socket: 96
|
||||||
|
Socket(s): 2
|
||||||
|
NUMA node(s): 2
|
||||||
|
NUMA node0 CPU(s): 0-95,192-287
|
||||||
|
NUMA node1 CPU(s): 96-191,288-383
|
||||||
|
*/
|
||||||
|
topoDualSocketMultiNumaPerSocketUncore = &topology.CPUTopology{
|
||||||
|
NumCPUs: 384,
|
||||||
|
NumCores: 192,
|
||||||
|
NumUncoreCache: 24,
|
||||||
|
NumSockets: 2,
|
||||||
|
NumNUMANodes: 2,
|
||||||
|
CPUDetails: topology.CPUDetails{
|
||||||
|
0: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0},
|
||||||
|
1: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0},
|
||||||
|
10: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 4},
|
||||||
|
100: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 100, UncoreCacheID: 16},
|
||||||
|
101: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 101, UncoreCacheID: 16},
|
||||||
|
102: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 102, UncoreCacheID: 16},
|
||||||
|
103: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 103, UncoreCacheID: 16},
|
||||||
|
104: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 104, UncoreCacheID: 20},
|
||||||
|
105: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 105, UncoreCacheID: 20},
|
||||||
|
106: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 106, UncoreCacheID: 20},
|
||||||
|
107: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 107, UncoreCacheID: 20},
|
||||||
|
108: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 108, UncoreCacheID: 20},
|
||||||
|
109: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 109, UncoreCacheID: 20},
|
||||||
|
11: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 4},
|
||||||
|
110: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 110, UncoreCacheID: 20},
|
||||||
|
111: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 111, UncoreCacheID: 20},
|
||||||
|
112: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 112, UncoreCacheID: 24},
|
||||||
|
113: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 113, UncoreCacheID: 24},
|
||||||
|
114: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 114, UncoreCacheID: 24},
|
||||||
|
115: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 115, UncoreCacheID: 24},
|
||||||
|
116: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 116, UncoreCacheID: 24},
|
||||||
|
117: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 117, UncoreCacheID: 24},
|
||||||
|
118: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 118, UncoreCacheID: 24},
|
||||||
|
119: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 119, UncoreCacheID: 24},
|
||||||
|
12: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 4},
|
||||||
|
120: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 120, UncoreCacheID: 18},
|
||||||
|
121: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 121, UncoreCacheID: 18},
|
||||||
|
122: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 122, UncoreCacheID: 18},
|
||||||
|
123: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 123, UncoreCacheID: 18},
|
||||||
|
124: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 124, UncoreCacheID: 18},
|
||||||
|
125: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 125, UncoreCacheID: 18},
|
||||||
|
126: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 126, UncoreCacheID: 18},
|
||||||
|
127: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 127, UncoreCacheID: 18},
|
||||||
|
128: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 128, UncoreCacheID: 22},
|
||||||
|
129: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 129, UncoreCacheID: 22},
|
||||||
|
13: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 4},
|
||||||
|
130: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 130, UncoreCacheID: 22},
|
||||||
|
131: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 131, UncoreCacheID: 22},
|
||||||
|
132: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 132, UncoreCacheID: 22},
|
||||||
|
133: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 133, UncoreCacheID: 22},
|
||||||
|
134: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 134, UncoreCacheID: 22},
|
||||||
|
135: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 135, UncoreCacheID: 22},
|
||||||
|
136: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 136, UncoreCacheID: 26},
|
||||||
|
137: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 137, UncoreCacheID: 26},
|
||||||
|
138: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 138, UncoreCacheID: 26},
|
||||||
|
139: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 139, UncoreCacheID: 26},
|
||||||
|
14: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 4},
|
||||||
|
140: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 140, UncoreCacheID: 26},
|
||||||
|
141: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 141, UncoreCacheID: 26},
|
||||||
|
142: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 142, UncoreCacheID: 26},
|
||||||
|
143: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 143, UncoreCacheID: 26},
|
||||||
|
144: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 144, UncoreCacheID: 19},
|
||||||
|
145: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 145, UncoreCacheID: 19},
|
||||||
|
146: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 146, UncoreCacheID: 19},
|
||||||
|
147: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 147, UncoreCacheID: 19},
|
||||||
|
148: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 148, UncoreCacheID: 19},
|
||||||
|
149: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 149, UncoreCacheID: 19},
|
||||||
|
15: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 4},
|
||||||
|
150: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 150, UncoreCacheID: 19},
|
||||||
|
151: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 151, UncoreCacheID: 19},
|
||||||
|
152: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 152, UncoreCacheID: 23},
|
||||||
|
153: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 153, UncoreCacheID: 23},
|
||||||
|
154: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 154, UncoreCacheID: 23},
|
||||||
|
155: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 155, UncoreCacheID: 23},
|
||||||
|
156: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 156, UncoreCacheID: 23},
|
||||||
|
157: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 157, UncoreCacheID: 23},
|
||||||
|
158: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 158, UncoreCacheID: 23},
|
||||||
|
159: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 159, UncoreCacheID: 23},
|
||||||
|
16: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 8},
|
||||||
|
160: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 160, UncoreCacheID: 27},
|
||||||
|
161: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 161, UncoreCacheID: 27},
|
||||||
|
162: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 162, UncoreCacheID: 27},
|
||||||
|
163: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 163, UncoreCacheID: 27},
|
||||||
|
164: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 164, UncoreCacheID: 27},
|
||||||
|
165: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 165, UncoreCacheID: 27},
|
||||||
|
166: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 166, UncoreCacheID: 27},
|
||||||
|
167: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 167, UncoreCacheID: 27},
|
||||||
|
168: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 168, UncoreCacheID: 17},
|
||||||
|
169: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 169, UncoreCacheID: 17},
|
||||||
|
17: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 8},
|
||||||
|
170: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 170, UncoreCacheID: 17},
|
||||||
|
171: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 171, UncoreCacheID: 17},
|
||||||
|
172: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 172, UncoreCacheID: 17},
|
||||||
|
173: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 173, UncoreCacheID: 17},
|
||||||
|
174: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 174, UncoreCacheID: 17},
|
||||||
|
175: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 175, UncoreCacheID: 17},
|
||||||
|
176: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 176, UncoreCacheID: 21},
|
||||||
|
177: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 177, UncoreCacheID: 21},
|
||||||
|
178: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 178, UncoreCacheID: 21},
|
||||||
|
179: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 179, UncoreCacheID: 21},
|
||||||
|
18: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 8},
|
||||||
|
180: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 180, UncoreCacheID: 21},
|
||||||
|
181: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 181, UncoreCacheID: 21},
|
||||||
|
182: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 182, UncoreCacheID: 21},
|
||||||
|
183: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 183, UncoreCacheID: 21},
|
||||||
|
184: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 184, UncoreCacheID: 25},
|
||||||
|
185: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 185, UncoreCacheID: 25},
|
||||||
|
186: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 186, UncoreCacheID: 25},
|
||||||
|
187: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 187, UncoreCacheID: 25},
|
||||||
|
188: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 188, UncoreCacheID: 25},
|
||||||
|
189: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 189, UncoreCacheID: 25},
|
||||||
|
19: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 8},
|
||||||
|
190: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 190, UncoreCacheID: 25},
|
||||||
|
191: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 191, UncoreCacheID: 25},
|
||||||
|
192: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 0, UncoreCacheID: 0},
|
||||||
|
193: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 1, UncoreCacheID: 0},
|
||||||
|
194: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0},
|
||||||
|
195: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0},
|
||||||
|
196: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0},
|
||||||
|
197: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0},
|
||||||
|
198: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0},
|
||||||
|
199: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0},
|
||||||
|
2: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 2, UncoreCacheID: 0},
|
||||||
|
20: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 8},
|
||||||
|
200: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 4},
|
||||||
|
201: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 4},
|
||||||
|
202: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 10, UncoreCacheID: 4},
|
||||||
|
203: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 11, UncoreCacheID: 4},
|
||||||
|
204: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 12, UncoreCacheID: 4},
|
||||||
|
205: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 13, UncoreCacheID: 4},
|
||||||
|
206: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 14, UncoreCacheID: 4},
|
||||||
|
207: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 15, UncoreCacheID: 4},
|
||||||
|
208: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 16, UncoreCacheID: 8},
|
||||||
|
209: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 17, UncoreCacheID: 8},
|
||||||
|
21: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 8},
|
||||||
|
210: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 18, UncoreCacheID: 8},
|
||||||
|
211: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 19, UncoreCacheID: 8},
|
||||||
|
212: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 20, UncoreCacheID: 8},
|
||||||
|
213: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 21, UncoreCacheID: 8},
|
||||||
|
214: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 8},
|
||||||
|
215: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 8},
|
||||||
|
216: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 2},
|
||||||
|
217: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 2},
|
||||||
|
218: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 2},
|
||||||
|
219: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 2},
|
||||||
|
22: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 22, UncoreCacheID: 8},
|
||||||
|
220: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 2},
|
||||||
|
221: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 2},
|
||||||
|
222: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 2},
|
||||||
|
223: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 2},
|
||||||
|
224: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 6},
|
||||||
|
225: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 6},
|
||||||
|
226: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 6},
|
||||||
|
227: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 6},
|
||||||
|
228: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 6},
|
||||||
|
229: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 6},
|
||||||
|
23: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 23, UncoreCacheID: 8},
|
||||||
|
230: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 6},
|
||||||
|
231: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 6},
|
||||||
|
232: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 10},
|
||||||
|
233: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 10},
|
||||||
|
234: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 10},
|
||||||
|
235: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 10},
|
||||||
|
236: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 10},
|
||||||
|
237: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 10},
|
||||||
|
238: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 10},
|
||||||
|
239: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 10},
|
||||||
|
24: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 24, UncoreCacheID: 2},
|
||||||
|
240: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 3},
|
||||||
|
241: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 3},
|
||||||
|
242: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 3},
|
||||||
|
243: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 3},
|
||||||
|
244: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 3},
|
||||||
|
245: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 3},
|
||||||
|
246: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 3},
|
||||||
|
247: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 3},
|
||||||
|
248: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 56, UncoreCacheID: 7},
|
||||||
|
249: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 57, UncoreCacheID: 7},
|
||||||
|
25: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 25, UncoreCacheID: 2},
|
||||||
|
250: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 58, UncoreCacheID: 7},
|
||||||
|
251: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 59, UncoreCacheID: 7},
|
||||||
|
252: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 60, UncoreCacheID: 7},
|
||||||
|
253: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 61, UncoreCacheID: 7},
|
||||||
|
254: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 62, UncoreCacheID: 7},
|
||||||
|
255: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 63, UncoreCacheID: 7},
|
||||||
|
256: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 64, UncoreCacheID: 11},
|
||||||
|
257: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 65, UncoreCacheID: 11},
|
||||||
|
258: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 66, UncoreCacheID: 11},
|
||||||
|
259: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 67, UncoreCacheID: 11},
|
||||||
|
26: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 26, UncoreCacheID: 2},
|
||||||
|
260: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 68, UncoreCacheID: 11},
|
||||||
|
261: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 69, UncoreCacheID: 11},
|
||||||
|
262: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 70, UncoreCacheID: 11},
|
||||||
|
263: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 71, UncoreCacheID: 11},
|
||||||
|
264: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 72, UncoreCacheID: 1},
|
||||||
|
265: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 73, UncoreCacheID: 1},
|
||||||
|
266: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 74, UncoreCacheID: 1},
|
||||||
|
267: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 75, UncoreCacheID: 1},
|
||||||
|
268: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 76, UncoreCacheID: 1},
|
||||||
|
269: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 77, UncoreCacheID: 1},
|
||||||
|
27: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 27, UncoreCacheID: 2},
|
||||||
|
270: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 78, UncoreCacheID: 1},
|
||||||
|
271: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 79, UncoreCacheID: 1},
|
||||||
|
272: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 80, UncoreCacheID: 5},
|
||||||
|
273: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 81, UncoreCacheID: 5},
|
||||||
|
274: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 82, UncoreCacheID: 5},
|
||||||
|
275: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 83, UncoreCacheID: 5},
|
||||||
|
276: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 84, UncoreCacheID: 5},
|
||||||
|
277: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 85, UncoreCacheID: 5},
|
||||||
|
278: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 86, UncoreCacheID: 5},
|
||||||
|
279: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 87, UncoreCacheID: 5},
|
||||||
|
28: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 28, UncoreCacheID: 2},
|
||||||
|
280: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 88, UncoreCacheID: 9},
|
||||||
|
281: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 89, UncoreCacheID: 9},
|
||||||
|
282: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 90, UncoreCacheID: 9},
|
||||||
|
283: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 91, UncoreCacheID: 9},
|
||||||
|
284: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 92, UncoreCacheID: 9},
|
||||||
|
285: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 93, UncoreCacheID: 9},
|
||||||
|
286: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 94, UncoreCacheID: 9},
|
||||||
|
287: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 95, UncoreCacheID: 9},
|
||||||
|
288: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 96, UncoreCacheID: 16},
|
||||||
|
289: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 97, UncoreCacheID: 16},
|
||||||
|
29: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 29, UncoreCacheID: 2},
|
||||||
|
290: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 98, UncoreCacheID: 16},
|
||||||
|
291: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 99, UncoreCacheID: 16},
|
||||||
|
292: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 100, UncoreCacheID: 16},
|
||||||
|
293: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 101, UncoreCacheID: 16},
|
||||||
|
294: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 102, UncoreCacheID: 16},
|
||||||
|
295: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 103, UncoreCacheID: 16},
|
||||||
|
296: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 104, UncoreCacheID: 20},
|
||||||
|
297: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 105, UncoreCacheID: 20},
|
||||||
|
298: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 106, UncoreCacheID: 20},
|
||||||
|
299: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 107, UncoreCacheID: 20},
|
||||||
|
3: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 3, UncoreCacheID: 0},
|
||||||
|
30: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 30, UncoreCacheID: 2},
|
||||||
|
300: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 108, UncoreCacheID: 20},
|
||||||
|
301: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 109, UncoreCacheID: 20},
|
||||||
|
302: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 110, UncoreCacheID: 20},
|
||||||
|
303: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 111, UncoreCacheID: 20},
|
||||||
|
304: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 112, UncoreCacheID: 24},
|
||||||
|
305: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 113, UncoreCacheID: 24},
|
||||||
|
306: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 114, UncoreCacheID: 24},
|
||||||
|
307: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 115, UncoreCacheID: 24},
|
||||||
|
308: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 116, UncoreCacheID: 24},
|
||||||
|
309: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 117, UncoreCacheID: 24},
|
||||||
|
31: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 31, UncoreCacheID: 2},
|
||||||
|
310: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 118, UncoreCacheID: 24},
|
||||||
|
311: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 119, UncoreCacheID: 24},
|
||||||
|
312: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 120, UncoreCacheID: 18},
|
||||||
|
313: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 121, UncoreCacheID: 18},
|
||||||
|
314: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 122, UncoreCacheID: 18},
|
||||||
|
315: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 123, UncoreCacheID: 18},
|
||||||
|
316: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 124, UncoreCacheID: 18},
|
||||||
|
317: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 125, UncoreCacheID: 18},
|
||||||
|
318: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 126, UncoreCacheID: 18},
|
||||||
|
319: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 127, UncoreCacheID: 18},
|
||||||
|
32: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 32, UncoreCacheID: 6},
|
||||||
|
320: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 128, UncoreCacheID: 22},
|
||||||
|
321: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 129, UncoreCacheID: 22},
|
||||||
|
322: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 130, UncoreCacheID: 22},
|
||||||
|
323: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 131, UncoreCacheID: 22},
|
||||||
|
324: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 132, UncoreCacheID: 22},
|
||||||
|
325: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 133, UncoreCacheID: 22},
|
||||||
|
326: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 134, UncoreCacheID: 22},
|
||||||
|
327: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 135, UncoreCacheID: 22},
|
||||||
|
328: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 136, UncoreCacheID: 26},
|
||||||
|
329: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 137, UncoreCacheID: 26},
|
||||||
|
33: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 33, UncoreCacheID: 6},
|
||||||
|
330: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 138, UncoreCacheID: 26},
|
||||||
|
331: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 139, UncoreCacheID: 26},
|
||||||
|
332: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 140, UncoreCacheID: 26},
|
||||||
|
333: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 141, UncoreCacheID: 26},
|
||||||
|
334: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 142, UncoreCacheID: 26},
|
||||||
|
335: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 143, UncoreCacheID: 26},
|
||||||
|
336: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 144, UncoreCacheID: 19},
|
||||||
|
337: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 145, UncoreCacheID: 19},
|
||||||
|
338: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 146, UncoreCacheID: 19},
|
||||||
|
339: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 147, UncoreCacheID: 19},
|
||||||
|
34: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 34, UncoreCacheID: 6},
|
||||||
|
340: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 148, UncoreCacheID: 19},
|
||||||
|
341: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 149, UncoreCacheID: 19},
|
||||||
|
342: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 150, UncoreCacheID: 19},
|
||||||
|
343: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 151, UncoreCacheID: 19},
|
||||||
|
344: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 152, UncoreCacheID: 23},
|
||||||
|
345: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 153, UncoreCacheID: 23},
|
||||||
|
346: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 154, UncoreCacheID: 23},
|
||||||
|
347: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 155, UncoreCacheID: 23},
|
||||||
|
348: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 156, UncoreCacheID: 23},
|
||||||
|
349: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 157, UncoreCacheID: 23},
|
||||||
|
35: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 35, UncoreCacheID: 6},
|
||||||
|
350: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 158, UncoreCacheID: 23},
|
||||||
|
351: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 159, UncoreCacheID: 23},
|
||||||
|
352: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 160, UncoreCacheID: 27},
|
||||||
|
353: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 161, UncoreCacheID: 27},
|
||||||
|
354: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 162, UncoreCacheID: 27},
|
||||||
|
355: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 163, UncoreCacheID: 27},
|
||||||
|
356: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 164, UncoreCacheID: 27},
|
||||||
|
357: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 165, UncoreCacheID: 27},
|
||||||
|
358: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 166, UncoreCacheID: 27},
|
||||||
|
359: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 167, UncoreCacheID: 27},
|
||||||
|
36: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 36, UncoreCacheID: 6},
|
||||||
|
360: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 168, UncoreCacheID: 17},
|
||||||
|
361: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 169, UncoreCacheID: 17},
|
||||||
|
362: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 170, UncoreCacheID: 17},
|
||||||
|
363: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 171, UncoreCacheID: 17},
|
||||||
|
364: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 172, UncoreCacheID: 17},
|
||||||
|
365: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 173, UncoreCacheID: 17},
|
||||||
|
366: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 174, UncoreCacheID: 17},
|
||||||
|
367: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 175, UncoreCacheID: 17},
|
||||||
|
368: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 176, UncoreCacheID: 21},
|
||||||
|
369: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 177, UncoreCacheID: 21},
|
||||||
|
37: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 37, UncoreCacheID: 6},
|
||||||
|
370: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 178, UncoreCacheID: 21},
|
||||||
|
371: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 179, UncoreCacheID: 21},
|
||||||
|
372: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 180, UncoreCacheID: 21},
|
||||||
|
373: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 181, UncoreCacheID: 21},
|
||||||
|
374: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 182, UncoreCacheID: 21},
|
||||||
|
375: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 183, UncoreCacheID: 21},
|
||||||
|
376: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 184, UncoreCacheID: 25},
|
||||||
|
377: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 185, UncoreCacheID: 25},
|
||||||
|
378: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 186, UncoreCacheID: 25},
|
||||||
|
379: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 187, UncoreCacheID: 25},
|
||||||
|
38: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 38, UncoreCacheID: 6},
|
||||||
|
380: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 188, UncoreCacheID: 25},
|
||||||
|
381: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 189, UncoreCacheID: 25},
|
||||||
|
382: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 190, UncoreCacheID: 25},
|
||||||
|
383: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 191, UncoreCacheID: 25},
|
||||||
|
39: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 39, UncoreCacheID: 6},
|
||||||
|
4: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 4, UncoreCacheID: 0},
|
||||||
|
40: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 40, UncoreCacheID: 10},
|
||||||
|
41: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 41, UncoreCacheID: 10},
|
||||||
|
42: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 42, UncoreCacheID: 10},
|
||||||
|
43: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 43, UncoreCacheID: 10},
|
||||||
|
44: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 44, UncoreCacheID: 10},
|
||||||
|
45: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 45, UncoreCacheID: 10},
|
||||||
|
46: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 46, UncoreCacheID: 10},
|
||||||
|
47: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 47, UncoreCacheID: 10},
|
||||||
|
48: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 48, UncoreCacheID: 3},
|
||||||
|
49: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 49, UncoreCacheID: 3},
|
||||||
|
5: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 5, UncoreCacheID: 0},
|
||||||
|
50: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 50, UncoreCacheID: 3},
|
||||||
|
51: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 51, UncoreCacheID: 3},
|
||||||
|
52: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 52, UncoreCacheID: 3},
|
||||||
|
53: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 53, UncoreCacheID: 3},
|
||||||
|
54: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 54, UncoreCacheID: 3},
|
||||||
|
55: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 55, UncoreCacheID: 3},
|
||||||
|
56: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 56, UncoreCacheID: 7},
|
||||||
|
57: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 57, UncoreCacheID: 7},
|
||||||
|
58: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 58, UncoreCacheID: 7},
|
||||||
|
59: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 59, UncoreCacheID: 7},
|
||||||
|
6: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 6, UncoreCacheID: 0},
|
||||||
|
60: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 60, UncoreCacheID: 7},
|
||||||
|
61: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 61, UncoreCacheID: 7},
|
||||||
|
62: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 62, UncoreCacheID: 7},
|
||||||
|
63: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 63, UncoreCacheID: 7},
|
||||||
|
64: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 64, UncoreCacheID: 11},
|
||||||
|
65: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 65, UncoreCacheID: 11},
|
||||||
|
66: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 66, UncoreCacheID: 11},
|
||||||
|
67: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 67, UncoreCacheID: 11},
|
||||||
|
68: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 68, UncoreCacheID: 11},
|
||||||
|
69: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 69, UncoreCacheID: 11},
|
||||||
|
7: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 7, UncoreCacheID: 0},
|
||||||
|
70: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 70, UncoreCacheID: 11},
|
||||||
|
71: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 71, UncoreCacheID: 11},
|
||||||
|
72: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 72, UncoreCacheID: 1},
|
||||||
|
73: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 73, UncoreCacheID: 1},
|
||||||
|
74: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 74, UncoreCacheID: 1},
|
||||||
|
75: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 75, UncoreCacheID: 1},
|
||||||
|
76: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 76, UncoreCacheID: 1},
|
||||||
|
77: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 77, UncoreCacheID: 1},
|
||||||
|
78: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 78, UncoreCacheID: 1},
|
||||||
|
79: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 79, UncoreCacheID: 1},
|
||||||
|
8: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 8, UncoreCacheID: 4},
|
||||||
|
80: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 80, UncoreCacheID: 5},
|
||||||
|
81: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 81, UncoreCacheID: 5},
|
||||||
|
82: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 82, UncoreCacheID: 5},
|
||||||
|
83: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 83, UncoreCacheID: 5},
|
||||||
|
84: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 84, UncoreCacheID: 5},
|
||||||
|
85: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 85, UncoreCacheID: 5},
|
||||||
|
86: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 86, UncoreCacheID: 5},
|
||||||
|
87: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 87, UncoreCacheID: 5},
|
||||||
|
88: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 88, UncoreCacheID: 9},
|
||||||
|
89: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 89, UncoreCacheID: 9},
|
||||||
|
9: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 9, UncoreCacheID: 4},
|
||||||
|
90: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 90, UncoreCacheID: 9},
|
||||||
|
91: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 91, UncoreCacheID: 9},
|
||||||
|
92: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 92, UncoreCacheID: 9},
|
||||||
|
93: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 93, UncoreCacheID: 9},
|
||||||
|
94: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 94, UncoreCacheID: 9},
|
||||||
|
95: topology.CPUInfo{NUMANodeID: 0, SocketID: 0, CoreID: 95, UncoreCacheID: 9},
|
||||||
|
96: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 96, UncoreCacheID: 16},
|
||||||
|
97: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 97, UncoreCacheID: 16},
|
||||||
|
98: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 98, UncoreCacheID: 16},
|
||||||
|
99: topology.CPUInfo{NUMANodeID: 1, SocketID: 1, CoreID: 99, UncoreCacheID: 16},
|
||||||
|
},
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user