]>
Commit | Line | Data |
---|---|---|
2ceb3fb0 AC |
1 | What: /sys/devices/system/cpu/ |
2 | Date: pre-git history | |
3 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
4 | Description: | |
5 | A collection of both global and individual CPU attributes | |
6 | ||
7 | Individual CPU attributes are contained in subdirectories | |
8 | named by the kernel's logical CPU number, e.g.: | |
9 | ||
10 | /sys/devices/system/cpu/cpu#/ | |
11 | ||
d93fc863 AC |
12 | What: /sys/devices/system/cpu/kernel_max |
13 | /sys/devices/system/cpu/offline | |
14 | /sys/devices/system/cpu/online | |
15 | /sys/devices/system/cpu/possible | |
16 | /sys/devices/system/cpu/present | |
17 | Date: December 2008 | |
18 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
19 | Description: CPU topology files that describe kernel limits related to | |
20 | hotplug. Briefly: | |
21 | ||
22 | kernel_max: the maximum cpu index allowed by the kernel | |
23 | configuration. | |
24 | ||
25 | offline: cpus that are not online because they have been | |
26 | HOTPLUGGED off or exceed the limit of cpus allowed by the | |
27 | kernel configuration (kernel_max above). | |
28 | ||
29 | online: cpus that are online and being scheduled. | |
30 | ||
31 | possible: cpus that have been allocated resources and can be | |
32 | brought online if they are present. | |
33 | ||
34 | present: cpus that have been identified as being present in | |
35 | the system. | |
36 | ||
37 | See Documentation/cputopology.txt for more information. | |
38 | ||
39 | ||
12633e80 NF |
40 | What: /sys/devices/system/cpu/probe |
41 | /sys/devices/system/cpu/release | |
42 | Date: November 2009 | |
43 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
44 | Description: Dynamic addition and removal of CPU's. This is not hotplug | |
45 | removal, this is meant complete removal/addition of the CPU | |
46 | from the system. | |
47 | ||
48 | probe: writes to this file will dynamically add a CPU to the | |
49 | system. Information written to the file to add CPU's is | |
50 | architecture specific. | |
51 | ||
52 | release: writes to this file dynamically remove a CPU from | |
53 | the system. Information writtento the file to remove CPU's | |
54 | is architecture specific. | |
657348a0 | 55 | |
cba5dd7f AC |
56 | What: /sys/devices/system/cpu/cpu#/node |
57 | Date: October 2009 | |
58 | Contact: Linux memory management mailing list <linux-mm@kvack.org> | |
59 | Description: Discover NUMA node a CPU belongs to | |
60 | ||
61 | When CONFIG_NUMA is enabled, a symbolic link that points | |
62 | to the corresponding NUMA node directory. | |
63 | ||
64 | For example, the following symlink is created for cpu42 | |
65 | in NUMA node 2: | |
66 | ||
67 | /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2 | |
68 | ||
69 | ||
663fb2fc AC |
70 | What: /sys/devices/system/cpu/cpu#/topology/core_id |
71 | /sys/devices/system/cpu/cpu#/topology/core_siblings | |
72 | /sys/devices/system/cpu/cpu#/topology/core_siblings_list | |
73 | /sys/devices/system/cpu/cpu#/topology/physical_package_id | |
74 | /sys/devices/system/cpu/cpu#/topology/thread_siblings | |
75 | /sys/devices/system/cpu/cpu#/topology/thread_siblings_list | |
76 | Date: December 2008 | |
77 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
78 | Description: CPU topology files that describe a logical CPU's relationship | |
79 | to other cores and threads in the same physical package. | |
80 | ||
81 | One cpu# directory is created per logical CPU in the system, | |
82 | e.g. /sys/devices/system/cpu/cpu42/. | |
83 | ||
84 | Briefly, the files above are: | |
85 | ||
86 | core_id: the CPU core ID of cpu#. Typically it is the | |
87 | hardware platform's identifier (rather than the kernel's). | |
88 | The actual value is architecture and platform dependent. | |
89 | ||
90 | core_siblings: internal kernel map of cpu#'s hardware threads | |
91 | within the same physical_package_id. | |
92 | ||
93 | core_siblings_list: human-readable list of the logical CPU | |
94 | numbers within the same physical_package_id as cpu#. | |
95 | ||
96 | physical_package_id: physical package id of cpu#. Typically | |
97 | corresponds to a physical socket number, but the actual value | |
98 | is architecture and platform dependent. | |
99 | ||
100 | thread_siblings: internel kernel map of cpu#'s hardware | |
101 | threads within the same core as cpu# | |
102 | ||
103 | thread_siblings_list: human-readable list of cpu#'s hardware | |
104 | threads within the same core as cpu# | |
105 | ||
106 | See Documentation/cputopology.txt for more information. | |
107 | ||
108 | ||
c1fb5c47 AC |
109 | What: /sys/devices/system/cpu/cpuidle/current_driver |
110 | /sys/devices/system/cpu/cpuidle/current_governer_ro | |
111 | Date: September 2007 | |
112 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
113 | Description: Discover cpuidle policy and mechanism | |
114 | ||
115 | Various CPUs today support multiple idle levels that are | |
116 | differentiated by varying exit latencies and power | |
117 | consumption during idle. | |
118 | ||
119 | Idle policy (governor) is differentiated from idle mechanism | |
120 | (driver) | |
121 | ||
122 | current_driver: displays current idle mechanism | |
123 | ||
124 | current_governor_ro: displays current idle policy | |
125 | ||
126 | See files in Documentation/cpuidle/ for more information. | |
127 | ||
128 | ||
0cda8b91 AC |
129 | What: /sys/devices/system/cpu/cpu#/cpufreq/* |
130 | Date: pre-git history | |
dec102aa | 131 | Contact: linux-pm@vger.kernel.org |
0cda8b91 AC |
132 | Description: Discover and change clock speed of CPUs |
133 | ||
134 | Clock scaling allows you to change the clock speed of the | |
135 | CPUs on the fly. This is a nice method to save battery | |
136 | power, because the lower the clock speed, the less power | |
137 | the CPU consumes. | |
138 | ||
139 | There are many knobs to tweak in this directory. | |
140 | ||
141 | See files in Documentation/cpu-freq/ for more information. | |
142 | ||
143 | In particular, read Documentation/cpu-freq/user-guide.txt | |
144 | to learn how to control the knobs. | |
145 | ||
146 | ||
f4fd3797 LT |
147 | What: /sys/devices/system/cpu/cpu#/cpufreq/freqdomain_cpus |
148 | Date: June 2013 | |
dec102aa | 149 | Contact: linux-pm@vger.kernel.org |
f4fd3797 LT |
150 | Description: Discover CPUs in the same CPU frequency coordination domain |
151 | ||
152 | freqdomain_cpus is the list of CPUs (online+offline) that share | |
153 | the same clock/freq domain (possibly at the hardware level). | |
154 | That information may be hidden from the cpufreq core and the | |
155 | value of related_cpus may be different from freqdomain_cpus. This | |
156 | attribute is useful for user space DVFS controllers to get better | |
157 | power/performance results for platforms using acpi-cpufreq. | |
158 | ||
159 | This file is only present if the acpi-cpufreq driver is in use. | |
160 | ||
161 | ||
eecaaba5 BP |
162 | What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1} |
163 | Date: August 2008 | |
2fad2d9b | 164 | KernelVersion: 2.6.27 |
ea8e080b | 165 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
eecaaba5 BP |
166 | Description: Disable L3 cache indices |
167 | ||
168 | These files exist in every CPU's cache/index3 directory. Each | |
169 | cache_disable_{0,1} file corresponds to one disable slot which | |
170 | can be used to disable a cache index. Reading from these files | |
171 | on a processor with this functionality will return the currently | |
172 | disabled index for that node. There is one L3 structure per | |
173 | node, or per internal node on MCM machines. Writing a valid | |
174 | index to one of these files will cause the specificed cache | |
175 | index to be disabled. | |
176 | ||
177 | All AMD processors with L3 caches provide this functionality. | |
178 | For details, see BKDGs at | |
179 | http://developer.amd.com/documentation/guides/Pages/default.aspx | |
615b7300 AP |
180 | |
181 | ||
182 | What: /sys/devices/system/cpu/cpufreq/boost | |
183 | Date: August 2012 | |
184 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
185 | Description: Processor frequency boosting control | |
186 | ||
187 | This switch controls the boost setting for the whole system. | |
188 | Boosting allows the CPU and the firmware to run at a frequency | |
189 | beyound it's nominal limit. | |
190 | More details can be found in Documentation/cpu-freq/boost.txt | |
c4fd675f ZY |
191 | |
192 | ||
193 | What: /sys/devices/system/cpu/cpu#/crash_notes | |
194 | /sys/devices/system/cpu/cpu#/crash_notes_size | |
195 | Date: April 2013 | |
196 | Contact: kexec@lists.infradead.org | |
197 | Description: address and size of the percpu note. | |
198 | ||
199 | crash_notes: the physical address of the memory that holds the | |
200 | note of cpu#. | |
201 | ||
202 | crash_notes_size: size of the note of cpu#. | |
fbe299e0 RR |
203 | |
204 | ||
205 | What: /sys/devices/system/cpu/intel_pstate/max_perf_pct | |
206 | /sys/devices/system/cpu/intel_pstate/min_perf_pct | |
207 | /sys/devices/system/cpu/intel_pstate/no_turbo | |
208 | Date: February 2013 | |
209 | Contact: linux-pm@vger.kernel.org | |
210 | Description: Parameters for the Intel P-state driver | |
211 | ||
212 | Logic for selecting the current P-state in Intel | |
213 | Sandybridge+ processors. The three knobs control | |
214 | limits for the P-state that will be requested by the | |
215 | driver. | |
216 | ||
217 | max_perf_pct: limits the maximum P state that will be requested by | |
218 | the driver stated as a percentage of the available performance. | |
219 | ||
220 | min_perf_pct: limits the minimum P state that will be requested by | |
221 | the driver stated as a percentage of the available performance. | |
222 | ||
223 | no_turbo: limits the driver to selecting P states below the turbo | |
224 | frequency range. | |
225 | ||
226 | More details can be found in Documentation/cpu-freq/intel-pstate.txt | |
246246cb SH |
227 | |
228 | What: /sys/devices/system/cpu/cpu*/cache/index*/<set_of_attributes_mentioned_below> | |
229 | Date: July 2014(documented, existed before August 2008) | |
230 | Contact: Sudeep Holla <sudeep.holla@arm.com> | |
231 | Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
232 | Description: Parameters for the CPU cache attributes | |
233 | ||
234 | allocation_policy: | |
235 | - WriteAllocate: allocate a memory location to a cache line | |
236 | on a cache miss because of a write | |
237 | - ReadAllocate: allocate a memory location to a cache line | |
238 | on a cache miss because of a read | |
239 | - ReadWriteAllocate: both writeallocate and readallocate | |
240 | ||
241 | attributes: LEGACY used only on IA64 and is same as write_policy | |
242 | ||
243 | coherency_line_size: the minimum amount of data in bytes that gets | |
244 | transferred from memory to cache | |
245 | ||
2539b258 | 246 | level: the cache hierarchy in the multi-level cache configuration |
246246cb SH |
247 | |
248 | number_of_sets: total number of sets in the cache, a set is a | |
249 | collection of cache lines with the same cache index | |
250 | ||
251 | physical_line_partition: number of physical cache line per cache tag | |
252 | ||
253 | shared_cpu_list: the list of logical cpus sharing the cache | |
254 | ||
255 | shared_cpu_map: logical cpu mask containing the list of cpus sharing | |
256 | the cache | |
257 | ||
258 | size: the total cache size in kB | |
259 | ||
260 | type: | |
261 | - Instruction: cache that only holds instructions | |
262 | - Data: cache that only caches data | |
263 | - Unified: cache that holds both data and instructions | |
264 | ||
265 | ways_of_associativity: degree of freedom in placing a particular block | |
266 | of memory in the cache | |
267 | ||
268 | write_policy: | |
269 | - WriteThrough: data is written to both the cache line | |
270 | and to the block in the lower-level memory | |
271 | - WriteBack: data is written only to the cache line and | |
272 | the modified cache line is written to main | |
273 | memory only when it is replaced | |
1b028984 | 274 | |
1d78dc59 TL |
275 | |
276 | What: /sys/devices/system/cpu/cpu*/cache/index*/id | |
277 | Date: September 2016 | |
278 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
279 | Description: Cache id | |
280 | ||
281 | The id provides a unique number for a specific instance of | |
282 | a cache of a particular type. E.g. there may be a level | |
283 | 3 unified cache on each socket in a server and we may | |
284 | assign them ids 0, 1, 2, ... | |
285 | ||
286 | Note that id value can be non-contiguous. E.g. level 1 | |
287 | caches typically exist per core, but there may not be a | |
288 | power of two cores on a socket, so these caches may be | |
289 | numbered 0, 1, 2, 3, 4, 5, 8, 9, 10, ... | |
290 | ||
1b028984 SB |
291 | What: /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats |
292 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/turbo_stat | |
293 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/sub_turbo_stat | |
294 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/unthrottle | |
295 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/powercap | |
296 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overtemp | |
297 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/supply_fault | |
298 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overcurrent | |
299 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/occ_reset | |
300 | Date: March 2016 | |
301 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
302 | Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> | |
303 | Description: POWERNV CPUFreq driver's frequency throttle stats directory and | |
304 | attributes | |
305 | ||
306 | 'cpuX/cpufreq/throttle_stats' directory contains the CPU frequency | |
307 | throttle stat attributes for the chip. The throttle stats of a cpu | |
308 | is common across all the cpus belonging to a chip. Below are the | |
309 | throttle attributes exported in the 'throttle_stats' directory: | |
310 | ||
311 | - turbo_stat : This file gives the total number of times the max | |
312 | frequency is throttled to lower frequency in turbo (at and above | |
313 | nominal frequency) range of frequencies. | |
314 | ||
315 | - sub_turbo_stat : This file gives the total number of times the | |
316 | max frequency is throttled to lower frequency in sub-turbo(below | |
317 | nominal frequency) range of frequencies. | |
318 | ||
319 | - unthrottle : This file gives the total number of times the max | |
320 | frequency is unthrottled after being throttled. | |
321 | ||
322 | - powercap : This file gives the total number of times the max | |
323 | frequency is throttled due to 'Power Capping'. | |
324 | ||
325 | - overtemp : This file gives the total number of times the max | |
326 | frequency is throttled due to 'CPU Over Temperature'. | |
327 | ||
328 | - supply_fault : This file gives the total number of times the | |
329 | max frequency is throttled due to 'Power Supply Failure'. | |
330 | ||
331 | - overcurrent : This file gives the total number of times the | |
332 | max frequency is throttled due to 'Overcurrent'. | |
333 | ||
334 | - occ_reset : This file gives the total number of times the max | |
335 | frequency is throttled due to 'OCC Reset'. | |
336 | ||
337 | The sysfs attributes representing different throttle reasons like | |
338 | powercap, overtemp, supply_fault, overcurrent and occ_reset map to | |
339 | the reasons provided by OCC firmware for throttling the frequency. | |
340 | ||
341 | What: /sys/devices/system/cpu/cpufreq/policyX/throttle_stats | |
342 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/turbo_stat | |
343 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/sub_turbo_stat | |
344 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/unthrottle | |
345 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/powercap | |
346 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overtemp | |
347 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/supply_fault | |
348 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overcurrent | |
349 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/occ_reset | |
350 | Date: March 2016 | |
351 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
352 | Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> | |
353 | Description: POWERNV CPUFreq driver's frequency throttle stats directory and | |
354 | attributes | |
355 | ||
356 | 'policyX/throttle_stats' directory and all the attributes are same as | |
357 | the /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats directory and | |
358 | attributes which give the frequency throttle information of the chip. | |
f8d9f924 SC |
359 | |
360 | What: /sys/devices/system/cpu/cpuX/regs/ | |
361 | /sys/devices/system/cpu/cpuX/regs/identification/ | |
362 | /sys/devices/system/cpu/cpuX/regs/identification/midr_el1 | |
363 | /sys/devices/system/cpu/cpuX/regs/identification/revidr_el1 | |
364 | Date: June 2016 | |
365 | Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org> | |
366 | Description: AArch64 CPU registers | |
367 | 'identification' directory exposes the CPU ID registers for | |
368 | identifying model and revision of the CPU. | |
a2b60670 JL |
369 | |
370 | What: /sys/devices/system/cpu/cpu#/cpu_capacity | |
371 | Date: December 2016 | |
372 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
373 | Description: information about CPUs heterogeneity. | |
374 | ||
375 | cpu_capacity: capacity of cpu#. | |
55320896 TG |
376 | |
377 | What: /sys/devices/system/cpu/vulnerabilities | |
378 | /sys/devices/system/cpu/vulnerabilities/meltdown | |
379 | /sys/devices/system/cpu/vulnerabilities/spectre_v1 | |
380 | /sys/devices/system/cpu/vulnerabilities/spectre_v2 | |
abe4b60b | 381 | /sys/devices/system/cpu/vulnerabilities/spec_store_bypass |
55320896 TG |
382 | Date: Januar 2018 |
383 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
384 | Description: Information about CPU vulnerabilities | |
385 | ||
386 | The files are named after the code names of CPU | |
387 | vulnerabilities. The output of those files reflects the | |
388 | state of the CPUs in the system. Possible output values: | |
389 | ||
390 | "Not affected" CPU is not affected by the vulnerability | |
391 | "Vulnerable" CPU is affected and no mitigation in effect | |
392 | "Mitigation: $M" CPU is affetcted and mitigation $M is in effect |