Lines Matching +full:per +full:- +full:cpu
1 .. SPDX-License-Identifier: GPL-2.0
11 The architecture-agnostic topology definitions are in
12 Documentation/admin-guide/cputopology.rst. This file holds x86-specific
17 Needless to say, code should use the generic functions - this file is *only*
35 - packages
36 - cores
37 - threads
46 Package-related topology information in the kernel:
48 - cpuinfo_x86.x86_max_cores:
52 - cpuinfo_x86.x86_max_dies:
56 - cpuinfo_x86.phys_proc_id:
61 - cpuinfo_x86.logical_proc_id:
68 - topology_max_packages():
70 The maximum possible number of packages in the system. Helpful for per
71 package facilities to preallocate per package information.
73 - cpu_llc_id:
75 A per-CPU variable containing:
77 - On Intel, the first APIC ID of the list of CPUs sharing the Last Level
80 - On AMD, the Node ID or Core Complex ID containing the Last Level
87 are SMT- or CMT-type threads.
92 Core-related topology information in the kernel:
94 - smp_num_siblings:
105 CPU.
110 Thread-related topology information in the kernel:
112 - topology_core_cpumask():
119 - topology_sibling_cpumask():
124 - topology_logical_package_id():
128 - topology_physical_package_id():
132 - topology_core_id();
143 The alternative Linux CPU enumeration depends on how the BIOS enumerates the
145 That has the "advantage" that the logical Linux CPU numbers of threads 0 stay
151 [package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
155 a) One thread per core::
157 [package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
158 -> [core 1] -> [thread 0] -> Linux CPU 1
160 b) Two threads per core::
162 [package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
163 -> [thread 1] -> Linux CPU 1
164 -> [core 1] -> [thread 0] -> Linux CPU 2
165 -> [thread 1] -> Linux CPU 3
169 [package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
170 -> [thread 1] -> Linux CPU 2
171 -> [core 1] -> [thread 0] -> Linux CPU 1
172 -> [thread 1] -> Linux CPU 3
176 [node 0] -> [Compute Unit 0] -> [Compute Unit Core 0] -> Linux CPU 0
177 -> [Compute Unit Core 1] -> Linux CPU 1
178 -> [Compute Unit 1] -> [Compute Unit Core 0] -> Linux CPU 2
179 -> [Compute Unit Core 1] -> Linux CPU 3
183 a) One thread per core::
185 [package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
186 -> [core 1] -> [thread 0] -> Linux CPU 1
188 [package 1] -> [core 0] -> [thread 0] -> Linux CPU 2
189 -> [core 1] -> [thread 0] -> Linux CPU 3
191 b) Two threads per core::
193 [package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
194 -> [thread 1] -> Linux CPU 1
195 -> [core 1] -> [thread 0] -> Linux CPU 2
196 -> [thread 1] -> Linux CPU 3
198 [package 1] -> [core 0] -> [thread 0] -> Linux CPU 4
199 -> [thread 1] -> Linux CPU 5
200 -> [core 1] -> [thread 0] -> Linux CPU 6
201 -> [thread 1] -> Linux CPU 7
205 [package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
206 -> [thread 1] -> Linux CPU 4
207 -> [core 1] -> [thread 0] -> Linux CPU 1
208 -> [thread 1] -> Linux CPU 5
210 [package 1] -> [core 0] -> [thread 0] -> Linux CPU 2
211 -> [thread 1] -> Linux CPU 6
212 -> [core 1] -> [thread 0] -> Linux CPU 3
213 -> [thread 1] -> Linux CPU 7
217 [node 0] -> [Compute Unit 0] -> [Compute Unit Core 0] -> Linux CPU 0
218 -> [Compute Unit Core 1] -> Linux CPU 1
219 -> [Compute Unit 1] -> [Compute Unit Core 0] -> Linux CPU 2
220 -> [Compute Unit Core 1] -> Linux CPU 3
222 [node 1] -> [Compute Unit 0] -> [Compute Unit Core 0] -> Linux CPU 4
223 -> [Compute Unit Core 1] -> Linux CPU 5
224 -> [Compute Unit 1] -> [Compute Unit Core 0] -> Linux CPU 6
225 -> [Compute Unit Core 1] -> Linux CPU 7