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 | ||
4f4cfa6c | 37 | See Documentation/admin-guide/cputopology.rst for more information. |
d93fc863 AC |
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 | ||
4f4cfa6c | 106 | See Documentation/admin-guide/cputopology.rst for more information. |
663fb2fc AC |
107 | |
108 | ||
c1fb5c47 AC |
109 | What: /sys/devices/system/cpu/cpuidle/current_driver |
110 | /sys/devices/system/cpu/cpuidle/current_governer_ro | |
b6d8ef86 AP |
111 | /sys/devices/system/cpu/cpuidle/available_governors |
112 | /sys/devices/system/cpu/cpuidle/current_governor | |
c1fb5c47 AC |
113 | Date: September 2007 |
114 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
115 | Description: Discover cpuidle policy and mechanism | |
116 | ||
117 | Various CPUs today support multiple idle levels that are | |
118 | differentiated by varying exit latencies and power | |
119 | consumption during idle. | |
120 | ||
121 | Idle policy (governor) is differentiated from idle mechanism | |
122 | (driver) | |
123 | ||
b6d8ef86 | 124 | current_driver: (RO) displays current idle mechanism |
c1fb5c47 | 125 | |
b6d8ef86 AP |
126 | current_governor_ro: (RO) displays current idle policy |
127 | ||
128 | With the cpuidle_sysfs_switch boot option enabled (meant for | |
129 | developer testing), the following three attributes are visible | |
130 | instead: | |
131 | ||
132 | current_driver: same as described above | |
133 | ||
134 | available_governors: (RO) displays a space separated list of | |
135 | available governors | |
136 | ||
137 | current_governor: (RW) displays current idle policy. Users can | |
138 | switch the governor at runtime by writing to this file. | |
c1fb5c47 | 139 | |
671c3095 MCC |
140 | See Documentation/admin-guide/pm/cpuidle.rst and |
141 | Documentation/driver-api/pm/cpuidle.rst for more information. | |
c1fb5c47 AC |
142 | |
143 | ||
b6d8ef86 AP |
144 | What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/name |
145 | /sys/devices/system/cpu/cpuX/cpuidle/stateN/latency | |
146 | /sys/devices/system/cpu/cpuX/cpuidle/stateN/power | |
147 | /sys/devices/system/cpu/cpuX/cpuidle/stateN/time | |
148 | /sys/devices/system/cpu/cpuX/cpuidle/stateN/usage | |
04dab58a RW |
149 | /sys/devices/system/cpu/cpuX/cpuidle/stateN/above |
150 | /sys/devices/system/cpu/cpuX/cpuidle/stateN/below | |
b6d8ef86 AP |
151 | Date: September 2007 |
152 | KernelVersion: v2.6.24 | |
153 | Contact: Linux power management list <linux-pm@vger.kernel.org> | |
154 | Description: | |
155 | The directory /sys/devices/system/cpu/cpuX/cpuidle contains per | |
156 | logical CPU specific cpuidle information for each online cpu X. | |
157 | The processor idle states which are available for use have the | |
158 | following attributes: | |
159 | ||
160 | name: (RO) Name of the idle state (string). | |
161 | ||
162 | latency: (RO) The latency to exit out of this idle state (in | |
163 | microseconds). | |
164 | ||
165 | power: (RO) The power consumed while in this idle state (in | |
166 | milliwatts). | |
167 | ||
168 | time: (RO) The total time spent in this idle state (in microseconds). | |
169 | ||
170 | usage: (RO) Number of times this state was entered (a count). | |
171 | ||
04dab58a RW |
172 | above: (RO) Number of times this state was entered, but the |
173 | observed CPU idle duration was too short for it (a count). | |
174 | ||
175 | below: (RO) Number of times this state was entered, but the | |
176 | observed CPU idle duration was too long for it (a count). | |
b6d8ef86 AP |
177 | |
178 | What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/desc | |
179 | Date: February 2008 | |
180 | KernelVersion: v2.6.25 | |
181 | Contact: Linux power management list <linux-pm@vger.kernel.org> | |
182 | Description: | |
183 | (RO) A small description about the idle state (string). | |
184 | ||
185 | ||
186 | What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/disable | |
187 | Date: March 2012 | |
188 | KernelVersion: v3.10 | |
189 | Contact: Linux power management list <linux-pm@vger.kernel.org> | |
190 | Description: | |
191 | (RW) Option to disable this idle state (bool). The behavior and | |
192 | the effect of the disable variable depends on the implementation | |
193 | of a particular governor. In the ladder governor, for example, | |
194 | it is not coherent, i.e. if one is disabling a light state, then | |
195 | all deeper states are disabled as well, but the disable variable | |
196 | does not reflect it. Likewise, if one enables a deep state but a | |
197 | lighter state still is disabled, then this has no effect. | |
198 | ||
199 | ||
200 | What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/residency | |
201 | Date: March 2014 | |
202 | KernelVersion: v3.15 | |
203 | Contact: Linux power management list <linux-pm@vger.kernel.org> | |
204 | Description: | |
205 | (RO) Display the target residency i.e. the minimum amount of | |
206 | time (in microseconds) this cpu should spend in this idle state | |
207 | to make the transition worth the effort. | |
208 | ||
64bdff69 RW |
209 | What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/s2idle/ |
210 | Date: March 2018 | |
211 | KernelVersion: v4.17 | |
212 | Contact: Linux power management list <linux-pm@vger.kernel.org> | |
213 | Description: | |
214 | Idle state usage statistics related to suspend-to-idle. | |
215 | ||
216 | This attribute group is only present for states that can be | |
217 | used in suspend-to-idle with suspended timekeeping. | |
218 | ||
219 | What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/s2idle/time | |
220 | Date: March 2018 | |
221 | KernelVersion: v4.17 | |
222 | Contact: Linux power management list <linux-pm@vger.kernel.org> | |
223 | Description: | |
224 | Total time spent by the CPU in suspend-to-idle (with scheduler | |
225 | tick suspended) after requesting this state. | |
226 | ||
227 | What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/s2idle/usage | |
228 | Date: March 2018 | |
229 | KernelVersion: v4.17 | |
230 | Contact: Linux power management list <linux-pm@vger.kernel.org> | |
231 | Description: | |
232 | Total number of times this state has been requested by the CPU | |
233 | while entering suspend-to-idle. | |
b6d8ef86 | 234 | |
0cda8b91 AC |
235 | What: /sys/devices/system/cpu/cpu#/cpufreq/* |
236 | Date: pre-git history | |
dec102aa | 237 | Contact: linux-pm@vger.kernel.org |
0cda8b91 AC |
238 | Description: Discover and change clock speed of CPUs |
239 | ||
240 | Clock scaling allows you to change the clock speed of the | |
241 | CPUs on the fly. This is a nice method to save battery | |
242 | power, because the lower the clock speed, the less power | |
243 | the CPU consumes. | |
244 | ||
245 | There are many knobs to tweak in this directory. | |
246 | ||
247 | See files in Documentation/cpu-freq/ for more information. | |
248 | ||
0cda8b91 | 249 | |
f4fd3797 LT |
250 | What: /sys/devices/system/cpu/cpu#/cpufreq/freqdomain_cpus |
251 | Date: June 2013 | |
dec102aa | 252 | Contact: linux-pm@vger.kernel.org |
f4fd3797 LT |
253 | Description: Discover CPUs in the same CPU frequency coordination domain |
254 | ||
255 | freqdomain_cpus is the list of CPUs (online+offline) that share | |
256 | the same clock/freq domain (possibly at the hardware level). | |
257 | That information may be hidden from the cpufreq core and the | |
258 | value of related_cpus may be different from freqdomain_cpus. This | |
259 | attribute is useful for user space DVFS controllers to get better | |
260 | power/performance results for platforms using acpi-cpufreq. | |
261 | ||
262 | This file is only present if the acpi-cpufreq driver is in use. | |
263 | ||
264 | ||
eecaaba5 BP |
265 | What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1} |
266 | Date: August 2008 | |
2fad2d9b | 267 | KernelVersion: 2.6.27 |
ea8e080b | 268 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
eecaaba5 BP |
269 | Description: Disable L3 cache indices |
270 | ||
271 | These files exist in every CPU's cache/index3 directory. Each | |
272 | cache_disable_{0,1} file corresponds to one disable slot which | |
273 | can be used to disable a cache index. Reading from these files | |
274 | on a processor with this functionality will return the currently | |
275 | disabled index for that node. There is one L3 structure per | |
276 | node, or per internal node on MCM machines. Writing a valid | |
277 | index to one of these files will cause the specificed cache | |
278 | index to be disabled. | |
279 | ||
280 | All AMD processors with L3 caches provide this functionality. | |
281 | For details, see BKDGs at | |
282 | http://developer.amd.com/documentation/guides/Pages/default.aspx | |
615b7300 AP |
283 | |
284 | ||
285 | What: /sys/devices/system/cpu/cpufreq/boost | |
286 | Date: August 2012 | |
287 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
288 | Description: Processor frequency boosting control | |
289 | ||
290 | This switch controls the boost setting for the whole system. | |
291 | Boosting allows the CPU and the firmware to run at a frequency | |
292 | beyound it's nominal limit. | |
3ba9b1b8 TS |
293 | More details can be found in |
294 | Documentation/admin-guide/pm/cpufreq.rst | |
c4fd675f ZY |
295 | |
296 | ||
297 | What: /sys/devices/system/cpu/cpu#/crash_notes | |
298 | /sys/devices/system/cpu/cpu#/crash_notes_size | |
299 | Date: April 2013 | |
300 | Contact: kexec@lists.infradead.org | |
301 | Description: address and size of the percpu note. | |
302 | ||
303 | crash_notes: the physical address of the memory that holds the | |
304 | note of cpu#. | |
305 | ||
306 | crash_notes_size: size of the note of cpu#. | |
fbe299e0 RR |
307 | |
308 | ||
309 | What: /sys/devices/system/cpu/intel_pstate/max_perf_pct | |
310 | /sys/devices/system/cpu/intel_pstate/min_perf_pct | |
311 | /sys/devices/system/cpu/intel_pstate/no_turbo | |
312 | Date: February 2013 | |
313 | Contact: linux-pm@vger.kernel.org | |
314 | Description: Parameters for the Intel P-state driver | |
315 | ||
316 | Logic for selecting the current P-state in Intel | |
317 | Sandybridge+ processors. The three knobs control | |
318 | limits for the P-state that will be requested by the | |
319 | driver. | |
320 | ||
321 | max_perf_pct: limits the maximum P state that will be requested by | |
322 | the driver stated as a percentage of the available performance. | |
323 | ||
324 | min_perf_pct: limits the minimum P state that will be requested by | |
325 | the driver stated as a percentage of the available performance. | |
326 | ||
327 | no_turbo: limits the driver to selecting P states below the turbo | |
328 | frequency range. | |
329 | ||
3ba9b1b8 TS |
330 | More details can be found in |
331 | Documentation/admin-guide/pm/intel_pstate.rst | |
246246cb SH |
332 | |
333 | What: /sys/devices/system/cpu/cpu*/cache/index*/<set_of_attributes_mentioned_below> | |
334 | Date: July 2014(documented, existed before August 2008) | |
335 | Contact: Sudeep Holla <sudeep.holla@arm.com> | |
336 | Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
337 | Description: Parameters for the CPU cache attributes | |
338 | ||
339 | allocation_policy: | |
340 | - WriteAllocate: allocate a memory location to a cache line | |
341 | on a cache miss because of a write | |
342 | - ReadAllocate: allocate a memory location to a cache line | |
343 | on a cache miss because of a read | |
344 | - ReadWriteAllocate: both writeallocate and readallocate | |
345 | ||
346 | attributes: LEGACY used only on IA64 and is same as write_policy | |
347 | ||
348 | coherency_line_size: the minimum amount of data in bytes that gets | |
349 | transferred from memory to cache | |
350 | ||
2539b258 | 351 | level: the cache hierarchy in the multi-level cache configuration |
246246cb SH |
352 | |
353 | number_of_sets: total number of sets in the cache, a set is a | |
354 | collection of cache lines with the same cache index | |
355 | ||
356 | physical_line_partition: number of physical cache line per cache tag | |
357 | ||
358 | shared_cpu_list: the list of logical cpus sharing the cache | |
359 | ||
360 | shared_cpu_map: logical cpu mask containing the list of cpus sharing | |
361 | the cache | |
362 | ||
363 | size: the total cache size in kB | |
364 | ||
365 | type: | |
366 | - Instruction: cache that only holds instructions | |
367 | - Data: cache that only caches data | |
368 | - Unified: cache that holds both data and instructions | |
369 | ||
370 | ways_of_associativity: degree of freedom in placing a particular block | |
371 | of memory in the cache | |
372 | ||
373 | write_policy: | |
374 | - WriteThrough: data is written to both the cache line | |
375 | and to the block in the lower-level memory | |
376 | - WriteBack: data is written only to the cache line and | |
377 | the modified cache line is written to main | |
378 | memory only when it is replaced | |
1b028984 | 379 | |
1d78dc59 TL |
380 | |
381 | What: /sys/devices/system/cpu/cpu*/cache/index*/id | |
382 | Date: September 2016 | |
383 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
384 | Description: Cache id | |
385 | ||
386 | The id provides a unique number for a specific instance of | |
387 | a cache of a particular type. E.g. there may be a level | |
388 | 3 unified cache on each socket in a server and we may | |
389 | assign them ids 0, 1, 2, ... | |
390 | ||
391 | Note that id value can be non-contiguous. E.g. level 1 | |
392 | caches typically exist per core, but there may not be a | |
393 | power of two cores on a socket, so these caches may be | |
394 | numbered 0, 1, 2, 3, 4, 5, 8, 9, 10, ... | |
395 | ||
1b028984 SB |
396 | What: /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats |
397 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/turbo_stat | |
398 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/sub_turbo_stat | |
399 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/unthrottle | |
400 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/powercap | |
401 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overtemp | |
402 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/supply_fault | |
403 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overcurrent | |
404 | /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/occ_reset | |
405 | Date: March 2016 | |
406 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
407 | Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> | |
408 | Description: POWERNV CPUFreq driver's frequency throttle stats directory and | |
409 | attributes | |
410 | ||
411 | 'cpuX/cpufreq/throttle_stats' directory contains the CPU frequency | |
412 | throttle stat attributes for the chip. The throttle stats of a cpu | |
413 | is common across all the cpus belonging to a chip. Below are the | |
414 | throttle attributes exported in the 'throttle_stats' directory: | |
415 | ||
416 | - turbo_stat : This file gives the total number of times the max | |
417 | frequency is throttled to lower frequency in turbo (at and above | |
418 | nominal frequency) range of frequencies. | |
419 | ||
420 | - sub_turbo_stat : This file gives the total number of times the | |
421 | max frequency is throttled to lower frequency in sub-turbo(below | |
422 | nominal frequency) range of frequencies. | |
423 | ||
424 | - unthrottle : This file gives the total number of times the max | |
425 | frequency is unthrottled after being throttled. | |
426 | ||
427 | - powercap : This file gives the total number of times the max | |
428 | frequency is throttled due to 'Power Capping'. | |
429 | ||
430 | - overtemp : This file gives the total number of times the max | |
431 | frequency is throttled due to 'CPU Over Temperature'. | |
432 | ||
433 | - supply_fault : This file gives the total number of times the | |
434 | max frequency is throttled due to 'Power Supply Failure'. | |
435 | ||
436 | - overcurrent : This file gives the total number of times the | |
437 | max frequency is throttled due to 'Overcurrent'. | |
438 | ||
439 | - occ_reset : This file gives the total number of times the max | |
440 | frequency is throttled due to 'OCC Reset'. | |
441 | ||
442 | The sysfs attributes representing different throttle reasons like | |
443 | powercap, overtemp, supply_fault, overcurrent and occ_reset map to | |
444 | the reasons provided by OCC firmware for throttling the frequency. | |
445 | ||
446 | What: /sys/devices/system/cpu/cpufreq/policyX/throttle_stats | |
447 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/turbo_stat | |
448 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/sub_turbo_stat | |
449 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/unthrottle | |
450 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/powercap | |
451 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overtemp | |
452 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/supply_fault | |
453 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overcurrent | |
454 | /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/occ_reset | |
455 | Date: March 2016 | |
456 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
457 | Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> | |
458 | Description: POWERNV CPUFreq driver's frequency throttle stats directory and | |
459 | attributes | |
460 | ||
461 | 'policyX/throttle_stats' directory and all the attributes are same as | |
462 | the /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats directory and | |
463 | attributes which give the frequency throttle information of the chip. | |
f8d9f924 SC |
464 | |
465 | What: /sys/devices/system/cpu/cpuX/regs/ | |
466 | /sys/devices/system/cpu/cpuX/regs/identification/ | |
467 | /sys/devices/system/cpu/cpuX/regs/identification/midr_el1 | |
468 | /sys/devices/system/cpu/cpuX/regs/identification/revidr_el1 | |
469 | Date: June 2016 | |
470 | Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org> | |
471 | Description: AArch64 CPU registers | |
472 | 'identification' directory exposes the CPU ID registers for | |
473 | identifying model and revision of the CPU. | |
a2b60670 JL |
474 | |
475 | What: /sys/devices/system/cpu/cpu#/cpu_capacity | |
476 | Date: December 2016 | |
477 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
478 | Description: information about CPUs heterogeneity. | |
479 | ||
480 | cpu_capacity: capacity of cpu#. | |
87590ce6 TG |
481 | |
482 | What: /sys/devices/system/cpu/vulnerabilities | |
483 | /sys/devices/system/cpu/vulnerabilities/meltdown | |
484 | /sys/devices/system/cpu/vulnerabilities/spectre_v1 | |
485 | /sys/devices/system/cpu/vulnerabilities/spectre_v2 | |
c456442c | 486 | /sys/devices/system/cpu/vulnerabilities/spec_store_bypass |
d90a7a0e | 487 | /sys/devices/system/cpu/vulnerabilities/l1tf |
8a4b06d3 | 488 | /sys/devices/system/cpu/vulnerabilities/mds |
a7a248c5 | 489 | /sys/devices/system/cpu/vulnerabilities/tsx_async_abort |
db4d30fb | 490 | /sys/devices/system/cpu/vulnerabilities/itlb_multihit |
9ecccfaa | 491 | Date: January 2018 |
87590ce6 TG |
492 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
493 | Description: Information about CPU vulnerabilities | |
494 | ||
495 | The files are named after the code names of CPU | |
496 | vulnerabilities. The output of those files reflects the | |
497 | state of the CPUs in the system. Possible output values: | |
498 | ||
499 | "Not affected" CPU is not affected by the vulnerability | |
500 | "Vulnerable" CPU is affected and no mitigation in effect | |
9ecccfaa | 501 | "Mitigation: $M" CPU is affected and mitigation $M is in effect |
05736e4a | 502 | |
5999bbe7 | 503 | See also: Documentation/admin-guide/hw-vuln/index.rst |
d90a7a0e | 504 | |
05736e4a TG |
505 | What: /sys/devices/system/cpu/smt |
506 | /sys/devices/system/cpu/smt/active | |
507 | /sys/devices/system/cpu/smt/control | |
508 | Date: June 2018 | |
509 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
510 | Description: Control Symetric Multi Threading (SMT) | |
511 | ||
512 | active: Tells whether SMT is active (enabled and siblings online) | |
513 | ||
514 | control: Read/write interface to control SMT. Possible | |
515 | values: | |
516 | ||
de7b77e5 JP |
517 | "on" SMT is enabled |
518 | "off" SMT is disabled | |
519 | "forceoff" SMT is force disabled. Cannot be changed. | |
520 | "notsupported" SMT is not supported by the CPU | |
521 | "notimplemented" SMT runtime toggling is not | |
522 | implemented for the architecture | |
05736e4a TG |
523 | |
524 | If control status is "forceoff" or "notsupported" writes | |
525 | are rejected. | |
b9c273ba RW |
526 | |
527 | What: /sys/devices/system/cpu/cpu#/power/energy_perf_bias | |
528 | Date: March 2019 | |
529 | Contact: linux-pm@vger.kernel.org | |
530 | Description: Intel Energy and Performance Bias Hint (EPB) | |
531 | ||
532 | EPB for the given CPU in a sliding scale 0 - 15, where a value | |
533 | of 0 corresponds to a hint preference for highest performance | |
534 | and a value of 15 corresponds to the maximum energy savings. | |
535 | ||
536 | In order to change the EPB value for the CPU, write either | |
537 | a number in the 0 - 15 sliding scale above, or one of the | |
538 | strings: "performance", "balance-performance", "normal", | |
539 | "balance-power", "power" (that represent values reflected by | |
540 | their meaning), to this attribute. | |
541 | ||
542 | This attribute is present for all online CPUs supporting the | |
543 | Intel EPB feature. | |
203dffac FY |
544 | |
545 | What: /sys/devices/system/cpu/umwait_control | |
546 | /sys/devices/system/cpu/umwait_control/enable_c02 | |
547 | /sys/devices/system/cpu/umwait_control/max_time | |
548 | Date: May 2019 | |
549 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
550 | Description: Umwait control | |
551 | ||
552 | enable_c02: Read/write interface to control umwait C0.2 state | |
553 | Read returns C0.2 state status: | |
554 | 0: C0.2 is disabled | |
555 | 1: C0.2 is enabled | |
556 | ||
557 | Write 'y' or '1' or 'on' to enable C0.2 state. | |
558 | Write 'n' or '0' or 'off' to disable C0.2 state. | |
559 | ||
560 | The interface is case insensitive. | |
561 | ||
562 | max_time: Read/write interface to control umwait maximum time | |
563 | in TSC-quanta that the CPU can reside in either C0.1 | |
564 | or C0.2 state. The time is an unsigned 32-bit number. | |
565 | Note that a value of zero means there is no limit. | |
566 | Low order two bits must be zero. | |
734560ac RG |
567 | |
568 | What: /sys/devices/system/cpu/svm | |
569 | Date: August 2019 | |
570 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
571 | Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> | |
572 | Description: Secure Virtual Machine | |
573 | ||
574 | If 1, it means the system is using the Protected Execution | |
575 | Facility in POWER9 and newer processors. i.e., it is a Secure | |
576 | Virtual Machine. |