1 What: /sys/devices/system/cpu/ 1 What: /sys/devices/system/cpu/ 2 Date: pre-git history 2 Date: pre-git history 3 Contact: Linux kernel mailing list <linu 3 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 4 Description: 4 Description: 5 A collection of both global an 5 A collection of both global and individual CPU attributes 6 6 7 Individual CPU attributes are 7 Individual CPU attributes are contained in subdirectories 8 named by the kernel's logical 8 named by the kernel's logical CPU number, e.g.: 9 9 10 /sys/devices/system/cpu/cpuX/ 10 /sys/devices/system/cpu/cpuX/ 11 11 12 What: /sys/devices/system/cpu/kernel 12 What: /sys/devices/system/cpu/kernel_max 13 /sys/devices/system/cpu/offlin 13 /sys/devices/system/cpu/offline 14 /sys/devices/system/cpu/online 14 /sys/devices/system/cpu/online 15 /sys/devices/system/cpu/possib 15 /sys/devices/system/cpu/possible 16 /sys/devices/system/cpu/presen 16 /sys/devices/system/cpu/present 17 Date: December 2008 17 Date: December 2008 18 Contact: Linux kernel mailing list <linu 18 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 19 Description: CPU topology files that descri 19 Description: CPU topology files that describe kernel limits related to 20 hotplug. Briefly: 20 hotplug. Briefly: 21 21 22 kernel_max: the maximum cpu in 22 kernel_max: the maximum cpu index allowed by the kernel 23 configuration. 23 configuration. 24 24 25 offline: cpus that are not onl 25 offline: cpus that are not online because they have been 26 HOTPLUGGED off or exceed the l 26 HOTPLUGGED off or exceed the limit of cpus allowed by the 27 kernel configuration (kernel_m 27 kernel configuration (kernel_max above). 28 28 29 online: cpus that are online a 29 online: cpus that are online and being scheduled. 30 30 31 possible: cpus that have been 31 possible: cpus that have been allocated resources and can be 32 brought online if they are pre 32 brought online if they are present. 33 33 34 present: cpus that have been i 34 present: cpus that have been identified as being present in 35 the system. 35 the system. 36 36 37 See Documentation/admin-guide/ 37 See Documentation/admin-guide/cputopology.rst for more information. 38 38 39 39 40 What: /sys/devices/system/cpu/probe 40 What: /sys/devices/system/cpu/probe 41 /sys/devices/system/cpu/releas 41 /sys/devices/system/cpu/release 42 Date: November 2009 42 Date: November 2009 43 Contact: Linux kernel mailing list <linu 43 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 44 Description: Dynamic addition and removal o 44 Description: Dynamic addition and removal of CPU's. This is not hotplug 45 removal, this is meant complet 45 removal, this is meant complete removal/addition of the CPU 46 from the system. 46 from the system. 47 47 48 probe: writes to this file wil 48 probe: writes to this file will dynamically add a CPU to the 49 system. Information written t 49 system. Information written to the file to add CPU's is 50 architecture specific. 50 architecture specific. 51 51 52 release: writes to this file d 52 release: writes to this file dynamically remove a CPU from 53 the system. Information writt 53 the system. Information written to the file to remove CPU's 54 is architecture specific. 54 is architecture specific. 55 55 56 What: /sys/devices/system/cpu/cpuX/n 56 What: /sys/devices/system/cpu/cpuX/node 57 Date: October 2009 57 Date: October 2009 58 Contact: Linux memory management mailin< 58 Contact: Linux memory management mailing list <linux-mm@kvack.org> 59 Description: Discover NUMA node a CPU belon 59 Description: Discover NUMA node a CPU belongs to 60 60 61 When CONFIG_NUMA is enabled, a 61 When CONFIG_NUMA is enabled, a symbolic link that points 62 to the corresponding NUMA node 62 to the corresponding NUMA node directory. 63 63 64 For example, the following sym 64 For example, the following symlink is created for cpu42 65 in NUMA node 2: 65 in NUMA node 2: 66 66 67 /sys/devices/system/cpu/cpu42/ 67 /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2 68 68 69 69 70 What: /sys/devices/system/cpu/cpuX/t 70 What: /sys/devices/system/cpu/cpuX/topology/core_siblings 71 /sys/devices/system/cpu/cpuX/t 71 /sys/devices/system/cpu/cpuX/topology/core_siblings_list 72 /sys/devices/system/cpu/cpuX/t 72 /sys/devices/system/cpu/cpuX/topology/physical_package_id 73 /sys/devices/system/cpu/cpuX/t 73 /sys/devices/system/cpu/cpuX/topology/thread_siblings 74 /sys/devices/system/cpu/cpuX/t 74 /sys/devices/system/cpu/cpuX/topology/thread_siblings_list 75 /sys/devices/system/cpu/cpuX/t 75 /sys/devices/system/cpu/cpuX/topology/ppin 76 Date: December 2008 76 Date: December 2008 77 Contact: Linux kernel mailing list <linu 77 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 78 Description: CPU topology files that descri 78 Description: CPU topology files that describe a logical CPU's relationship 79 to other cores and threads in 79 to other cores and threads in the same physical package. 80 80 81 One cpuX directory is created 81 One cpuX directory is created per logical CPU in the system, 82 e.g. /sys/devices/system/cpu/c 82 e.g. /sys/devices/system/cpu/cpu42/. 83 83 84 Briefly, the files above are: 84 Briefly, the files above are: 85 85 86 core_siblings: internal kernel 86 core_siblings: internal kernel map of cpuX's hardware threads 87 within the same physical_packa 87 within the same physical_package_id. 88 88 89 core_siblings_list: human-read 89 core_siblings_list: human-readable list of the logical CPU 90 numbers within the same physic 90 numbers within the same physical_package_id as cpuX. 91 91 92 physical_package_id: physical 92 physical_package_id: physical package id of cpuX. Typically 93 corresponds to a physical sock 93 corresponds to a physical socket number, but the actual value 94 is architecture and platform d 94 is architecture and platform dependent. 95 95 96 thread_siblings: internal kern 96 thread_siblings: internal kernel map of cpuX's hardware 97 threads within the same core a 97 threads within the same core as cpuX 98 98 99 thread_siblings_list: human-re 99 thread_siblings_list: human-readable list of cpuX's hardware 100 threads within the same core a 100 threads within the same core as cpuX 101 101 102 ppin: human-readable Protected 102 ppin: human-readable Protected Processor Identification 103 Number of the socket the cpu# 103 Number of the socket the cpu# belongs to. There should be 104 one per physical_package_id. F 104 one per physical_package_id. File is readable only to 105 admin. 105 admin. 106 106 107 See Documentation/admin-guide/ 107 See Documentation/admin-guide/cputopology.rst for more information. 108 108 109 109 110 What: /sys/devices/system/cpu/cpuidl 110 What: /sys/devices/system/cpu/cpuidle/available_governors 111 /sys/devices/system/cpu/cpuidl 111 /sys/devices/system/cpu/cpuidle/current_driver 112 /sys/devices/system/cpu/cpuidl 112 /sys/devices/system/cpu/cpuidle/current_governor 113 /sys/devices/system/cpu/cpuidl 113 /sys/devices/system/cpu/cpuidle/current_governer_ro 114 Date: September 2007 114 Date: September 2007 115 Contact: Linux kernel mailing list <linu 115 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 116 Description: Discover cpuidle policy and me 116 Description: Discover cpuidle policy and mechanism 117 117 118 Various CPUs today support mul 118 Various CPUs today support multiple idle levels that are 119 differentiated by varying exit 119 differentiated by varying exit latencies and power 120 consumption during idle. 120 consumption during idle. 121 121 122 Idle policy (governor) is diff 122 Idle policy (governor) is differentiated from idle mechanism 123 (driver). 123 (driver). 124 124 125 available_governors: (RO) disp 125 available_governors: (RO) displays a space separated list of 126 available governors. 126 available governors. 127 127 128 current_driver: (RO) displays 128 current_driver: (RO) displays current idle mechanism. 129 129 130 current_governor: (RW) display 130 current_governor: (RW) displays current idle policy. Users can 131 switch the governor at runtime 131 switch the governor at runtime by writing to this file. 132 132 133 current_governor_ro: (RO) disp 133 current_governor_ro: (RO) displays current idle policy. 134 134 135 See Documentation/admin-guide/ 135 See Documentation/admin-guide/pm/cpuidle.rst and 136 Documentation/driver-api/pm/cp 136 Documentation/driver-api/pm/cpuidle.rst for more information. 137 137 138 138 139 What: /sys/devices/system/cpu/cpuX/c 139 What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/name 140 /sys/devices/system/cpu/cpuX/c 140 /sys/devices/system/cpu/cpuX/cpuidle/stateN/latency 141 /sys/devices/system/cpu/cpuX/c 141 /sys/devices/system/cpu/cpuX/cpuidle/stateN/power 142 /sys/devices/system/cpu/cpuX/c 142 /sys/devices/system/cpu/cpuX/cpuidle/stateN/time 143 /sys/devices/system/cpu/cpuX/c 143 /sys/devices/system/cpu/cpuX/cpuidle/stateN/usage 144 /sys/devices/system/cpu/cpuX/c 144 /sys/devices/system/cpu/cpuX/cpuidle/stateN/above 145 /sys/devices/system/cpu/cpuX/c 145 /sys/devices/system/cpu/cpuX/cpuidle/stateN/below 146 Date: September 2007 146 Date: September 2007 147 KernelVersion: v2.6.24 147 KernelVersion: v2.6.24 148 Contact: Linux power management list <li 148 Contact: Linux power management list <linux-pm@vger.kernel.org> 149 Description: 149 Description: 150 The directory /sys/devices/sys 150 The directory /sys/devices/system/cpu/cpuX/cpuidle contains per 151 logical CPU specific cpuidle i 151 logical CPU specific cpuidle information for each online cpu X. 152 The processor idle states whic 152 The processor idle states which are available for use have the 153 following attributes: 153 following attributes: 154 154 155 ======== ==== ================ 155 ======== ==== ================================================= 156 name: (RO) Name of the idle 156 name: (RO) Name of the idle state (string). 157 157 158 latency: (RO) The latency to e 158 latency: (RO) The latency to exit out of this idle state (in 159 microseconds). 159 microseconds). 160 160 161 power: (RO) The power consum 161 power: (RO) The power consumed while in this idle state (in 162 milliwatts). 162 milliwatts). 163 163 164 time: (RO) The total time s 164 time: (RO) The total time spent in this idle state 165 (in microseconds 165 (in microseconds). 166 166 167 usage: (RO) Number of times 167 usage: (RO) Number of times this state was entered (a count). 168 168 169 above: (RO) Number of times 169 above: (RO) Number of times this state was entered, but the 170 observed CPU idl 170 observed CPU idle duration was too short for it 171 (a count). 171 (a count). 172 172 173 below: (RO) Number of times 173 below: (RO) Number of times this state was entered, but the 174 observed CPU idl 174 observed CPU idle duration was too long for it 175 (a count). 175 (a count). 176 ======== ==== ================ 176 ======== ==== ================================================= 177 177 178 What: /sys/devices/system/cpu/cpuX/c 178 What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/desc 179 Date: February 2008 179 Date: February 2008 180 KernelVersion: v2.6.25 180 KernelVersion: v2.6.25 181 Contact: Linux power management list <li 181 Contact: Linux power management list <linux-pm@vger.kernel.org> 182 Description: 182 Description: 183 (RO) A small description about 183 (RO) A small description about the idle state (string). 184 184 185 185 186 What: /sys/devices/system/cpu/cpuX/c 186 What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/disable 187 Date: March 2012 187 Date: March 2012 188 KernelVersion: v3.10 188 KernelVersion: v3.10 189 Contact: Linux power management list <li 189 Contact: Linux power management list <linux-pm@vger.kernel.org> 190 Description: 190 Description: 191 (RW) Option to disable this id 191 (RW) Option to disable this idle state (bool). The behavior and 192 the effect of the disable vari 192 the effect of the disable variable depends on the implementation 193 of a particular governor. In t 193 of a particular governor. In the ladder governor, for example, 194 it is not coherent, i.e. if on 194 it is not coherent, i.e. if one is disabling a light state, then 195 all deeper states are disabled 195 all deeper states are disabled as well, but the disable variable 196 does not reflect it. Likewise, 196 does not reflect it. Likewise, if one enables a deep state but a 197 lighter state still is disable 197 lighter state still is disabled, then this has no effect. 198 198 199 What: /sys/devices/system/cpu/cpuX/c 199 What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/default_status 200 Date: December 2019 200 Date: December 2019 201 KernelVersion: v5.6 201 KernelVersion: v5.6 202 Contact: Linux power management list <li 202 Contact: Linux power management list <linux-pm@vger.kernel.org> 203 Description: 203 Description: 204 (RO) The default status of thi 204 (RO) The default status of this state, "enabled" or "disabled". 205 205 206 What: /sys/devices/system/cpu/cpuX/c 206 What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/residency 207 Date: March 2014 207 Date: March 2014 208 KernelVersion: v3.15 208 KernelVersion: v3.15 209 Contact: Linux power management list <li 209 Contact: Linux power management list <linux-pm@vger.kernel.org> 210 Description: 210 Description: 211 (RO) Display the target reside 211 (RO) Display the target residency i.e. the minimum amount of 212 time (in microseconds) this cp 212 time (in microseconds) this cpu should spend in this idle state 213 to make the transition worth t 213 to make the transition worth the effort. 214 214 215 What: /sys/devices/system/cpu/cpuX/c 215 What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/ 216 Date: March 2018 216 Date: March 2018 217 KernelVersion: v4.17 217 KernelVersion: v4.17 218 Contact: Linux power management list <li 218 Contact: Linux power management list <linux-pm@vger.kernel.org> 219 Description: 219 Description: 220 Idle state usage statistics re 220 Idle state usage statistics related to suspend-to-idle. 221 221 222 This attribute group is only p 222 This attribute group is only present for states that can be 223 used in suspend-to-idle with s 223 used in suspend-to-idle with suspended timekeeping. 224 224 225 What: /sys/devices/system/cpu/cpuX/c 225 What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/time 226 Date: March 2018 226 Date: March 2018 227 KernelVersion: v4.17 227 KernelVersion: v4.17 228 Contact: Linux power management list <li 228 Contact: Linux power management list <linux-pm@vger.kernel.org> 229 Description: 229 Description: 230 Total time spent by the CPU in 230 Total time spent by the CPU in suspend-to-idle (with scheduler 231 tick suspended) after requesti 231 tick suspended) after requesting this state. 232 232 233 What: /sys/devices/system/cpu/cpuX/c 233 What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/usage 234 Date: March 2018 234 Date: March 2018 235 KernelVersion: v4.17 235 KernelVersion: v4.17 236 Contact: Linux power management list <li 236 Contact: Linux power management list <linux-pm@vger.kernel.org> 237 Description: 237 Description: 238 Total number of times this sta 238 Total number of times this state has been requested by the CPU 239 while entering suspend-to-idle 239 while entering suspend-to-idle. 240 240 241 What: /sys/devices/system/cpu/cpuX/c 241 What: /sys/devices/system/cpu/cpuX/cpufreq/* 242 Date: pre-git history 242 Date: pre-git history 243 Contact: linux-pm@vger.kernel.org 243 Contact: linux-pm@vger.kernel.org 244 Description: Discover and change clock spee 244 Description: Discover and change clock speed of CPUs 245 245 246 Clock scaling allows you to ch 246 Clock scaling allows you to change the clock speed of the 247 CPUs on the fly. This is a nic 247 CPUs on the fly. This is a nice method to save battery 248 power, because the lower the c 248 power, because the lower the clock speed, the less power 249 the CPU consumes. 249 the CPU consumes. 250 250 251 There are many knobs to tweak 251 There are many knobs to tweak in this directory. 252 252 253 See files in Documentation/cpu 253 See files in Documentation/cpu-freq/ for more information. 254 254 255 255 256 What: /sys/devices/system/cpu/cpuX/c 256 What: /sys/devices/system/cpu/cpuX/cpufreq/freqdomain_cpus 257 Date: June 2013 257 Date: June 2013 258 Contact: linux-pm@vger.kernel.org 258 Contact: linux-pm@vger.kernel.org 259 Description: Discover CPUs in the same CPU 259 Description: Discover CPUs in the same CPU frequency coordination domain 260 260 261 freqdomain_cpus is the list of 261 freqdomain_cpus is the list of CPUs (online+offline) that share 262 the same clock/freq domain (po 262 the same clock/freq domain (possibly at the hardware level). 263 That information may be hidden 263 That information may be hidden from the cpufreq core and the 264 value of related_cpus may be d 264 value of related_cpus may be different from freqdomain_cpus. This 265 attribute is useful for user s 265 attribute is useful for user space DVFS controllers to get better 266 power/performance results for 266 power/performance results for platforms using acpi-cpufreq. 267 267 268 This file is only present if t 268 This file is only present if the acpi-cpufreq or the cppc-cpufreq 269 drivers are in use. 269 drivers are in use. 270 270 271 271 272 What: /sys/devices/system/cpu/cpu*/c 272 What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1} 273 Date: August 2008 273 Date: August 2008 274 KernelVersion: 2.6.27 274 KernelVersion: 2.6.27 275 Contact: Linux kernel mailing list <linu 275 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 276 Description: Disable L3 cache indices 276 Description: Disable L3 cache indices 277 277 278 These files exist in every CPU 278 These files exist in every CPU's cache/index3 directory. Each 279 cache_disable_{0,1} file corre 279 cache_disable_{0,1} file corresponds to one disable slot which 280 can be used to disable a cache 280 can be used to disable a cache index. Reading from these files 281 on a processor with this funct 281 on a processor with this functionality will return the currently 282 disabled index for that node. 282 disabled index for that node. There is one L3 structure per 283 node, or per internal node on 283 node, or per internal node on MCM machines. Writing a valid 284 index to one of these files wi 284 index to one of these files will cause the specified cache 285 index to be disabled. 285 index to be disabled. 286 286 287 All AMD processors with L3 cac 287 All AMD processors with L3 caches provide this functionality. 288 For details, see BKDGs at 288 For details, see BKDGs at 289 https://www.amd.com/en/support 289 https://www.amd.com/en/support/tech-docs?keyword=bios+kernel 290 290 291 291 292 What: /sys/devices/system/cpu/cpufre 292 What: /sys/devices/system/cpu/cpufreq/boost 293 Date: August 2012 293 Date: August 2012 294 Contact: Linux kernel mailing list <linu 294 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 295 Description: Processor frequency boosting c 295 Description: Processor frequency boosting control 296 296 297 This switch controls the boost 297 This switch controls the boost setting for the whole system. 298 Boosting allows the CPU and th 298 Boosting allows the CPU and the firmware to run at a frequency 299 beyond its nominal limit. 299 beyond its nominal limit. 300 300 301 More details can be found in 301 More details can be found in 302 Documentation/admin-guide/pm/c 302 Documentation/admin-guide/pm/cpufreq.rst 303 303 304 304 305 What: /sys/devices/system/cpu/cpuX/c 305 What: /sys/devices/system/cpu/cpuX/crash_notes 306 /sys/devices/system/cpu/cpuX/c 306 /sys/devices/system/cpu/cpuX/crash_notes_size 307 Date: April 2013 307 Date: April 2013 308 Contact: kexec@lists.infradead.org 308 Contact: kexec@lists.infradead.org 309 Description: address and size of the percpu 309 Description: address and size of the percpu note. 310 310 311 crash_notes: the physical addr 311 crash_notes: the physical address of the memory that holds the 312 note of cpuX. 312 note of cpuX. 313 313 314 crash_notes_size: size of the 314 crash_notes_size: size of the note of cpuX. 315 315 316 316 317 What: /sys/devices/system/cpu/intel_ 317 What: /sys/devices/system/cpu/intel_pstate/max_perf_pct 318 /sys/devices/system/cpu/intel_ 318 /sys/devices/system/cpu/intel_pstate/min_perf_pct 319 /sys/devices/system/cpu/intel_ 319 /sys/devices/system/cpu/intel_pstate/no_turbo 320 Date: February 2013 320 Date: February 2013 321 Contact: linux-pm@vger.kernel.org 321 Contact: linux-pm@vger.kernel.org 322 Description: Parameters for the Intel P-sta 322 Description: Parameters for the Intel P-state driver 323 323 324 Logic for selecting the curren 324 Logic for selecting the current P-state in Intel 325 Sandybridge+ processors. The t 325 Sandybridge+ processors. The three knobs control 326 limits for the P-state that wi 326 limits for the P-state that will be requested by the 327 driver. 327 driver. 328 328 329 max_perf_pct: limits the maxim 329 max_perf_pct: limits the maximum P state that will be requested by 330 the driver stated as a percent 330 the driver stated as a percentage of the available performance. 331 331 332 min_perf_pct: limits the minim 332 min_perf_pct: limits the minimum P state that will be requested by 333 the driver stated as a percent 333 the driver stated as a percentage of the available performance. 334 334 335 no_turbo: limits the driver to 335 no_turbo: limits the driver to selecting P states below the turbo 336 frequency range. 336 frequency range. 337 337 338 More details can be found in 338 More details can be found in 339 Documentation/admin-guide/pm/i 339 Documentation/admin-guide/pm/intel_pstate.rst 340 340 341 What: /sys/devices/system/cpu/cpu*/c 341 What: /sys/devices/system/cpu/cpu*/cache/index*/<set_of_attributes_mentioned_below> 342 Date: July 2014(documented, existed 342 Date: July 2014(documented, existed before August 2008) 343 Contact: Sudeep Holla <sudeep.holla@arm. 343 Contact: Sudeep Holla <sudeep.holla@arm.com> 344 Linux kernel mailing list <linu 344 Linux kernel mailing list <linux-kernel@vger.kernel.org> 345 Description: Parameters for the CPU cache a 345 Description: Parameters for the CPU cache attributes 346 346 347 allocation_policy: 347 allocation_policy: 348 - WriteAllocate: 348 - WriteAllocate: 349 alloca 349 allocate a memory location to a cache line 350 on a c 350 on a cache miss because of a write 351 - ReadAllocate: 351 - ReadAllocate: 352 alloca 352 allocate a memory location to a cache line 353 on a c 353 on a cache miss because of a read 354 - ReadWriteAllocate: 354 - ReadWriteAllocate: 355 both w 355 both writeallocate and readallocate 356 356 357 coherency_line_size: 357 coherency_line_size: 358 the minim 358 the minimum amount of data in bytes that gets 359 transferr 359 transferred from memory to cache 360 360 361 level: 361 level: 362 the cache hierarchy in 362 the cache hierarchy in the multi-level cache configuration 363 363 364 number_of_sets: 364 number_of_sets: 365 total number o 365 total number of sets in the cache, a set is a 366 collection of 366 collection of cache lines with the same cache index 367 367 368 physical_line_partition: 368 physical_line_partition: 369 number of phys 369 number of physical cache line per cache tag 370 370 371 shared_cpu_list: 371 shared_cpu_list: 372 the list of lo 372 the list of logical cpus sharing the cache 373 373 374 shared_cpu_map: 374 shared_cpu_map: 375 logical cpu ma 375 logical cpu mask containing the list of cpus sharing 376 the cache 376 the cache 377 377 378 size: 378 size: 379 the total cache size i 379 the total cache size in kB 380 380 381 type: 381 type: 382 - Instruction: cache t 382 - Instruction: cache that only holds instructions 383 - Data: cache that onl 383 - Data: cache that only caches data 384 - Unified: cache that 384 - Unified: cache that holds both data and instructions 385 385 386 ways_of_associativity: 386 ways_of_associativity: 387 degree of freedom in p 387 degree of freedom in placing a particular block 388 of memory in the cache 388 of memory in the cache 389 389 390 write_policy: 390 write_policy: 391 - WriteThrough: 391 - WriteThrough: 392 data i 392 data is written to both the cache line 393 and to 393 and to the block in the lower-level memory 394 - WriteBack: 394 - WriteBack: 395 data is w 395 data is written only to the cache line and 396 the modif 396 the modified cache line is written to main 397 memory on 397 memory only when it is replaced 398 398 399 399 400 What: /sys/devices/system/cpu/cpu*/c 400 What: /sys/devices/system/cpu/cpu*/cache/index*/id 401 Date: September 2016 401 Date: September 2016 402 Contact: Linux kernel mailing list <linu 402 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 403 Description: Cache id 403 Description: Cache id 404 404 405 The id provides a unique numbe 405 The id provides a unique number for a specific instance of 406 a cache of a particular type. 406 a cache of a particular type. E.g. there may be a level 407 3 unified cache on each socket 407 3 unified cache on each socket in a server and we may 408 assign them ids 0, 1, 2, ... 408 assign them ids 0, 1, 2, ... 409 409 410 Note that id value can be non- 410 Note that id value can be non-contiguous. E.g. level 1 411 caches typically exist per cor 411 caches typically exist per core, but there may not be a 412 power of two cores on a socket 412 power of two cores on a socket, so these caches may be 413 numbered 0, 1, 2, 3, 4, 5, 8, 413 numbered 0, 1, 2, 3, 4, 5, 8, 9, 10, ... 414 414 415 What: /sys/devices/system/cpu/cpuX/c 415 What: /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats 416 /sys/devices/system/cpu/cpuX/c 416 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/turbo_stat 417 /sys/devices/system/cpu/cpuX/c 417 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/sub_turbo_stat 418 /sys/devices/system/cpu/cpuX/c 418 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/unthrottle 419 /sys/devices/system/cpu/cpuX/c 419 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/powercap 420 /sys/devices/system/cpu/cpuX/c 420 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overtemp 421 /sys/devices/system/cpu/cpuX/c 421 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/supply_fault 422 /sys/devices/system/cpu/cpuX/c 422 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overcurrent 423 /sys/devices/system/cpu/cpuX/c 423 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/occ_reset 424 Date: March 2016 424 Date: March 2016 425 Contact: Linux kernel mailing list <linu 425 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 426 Linux for PowerPC mailing list< !! 426 Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> 427 Description: POWERNV CPUFreq driver's frequ 427 Description: POWERNV CPUFreq driver's frequency throttle stats directory and 428 attributes 428 attributes 429 429 430 'cpuX/cpufreq/throttle_stats' 430 'cpuX/cpufreq/throttle_stats' directory contains the CPU frequency 431 throttle stat attributes for t 431 throttle stat attributes for the chip. The throttle stats of a cpu 432 is common across all the cpus 432 is common across all the cpus belonging to a chip. Below are the 433 throttle attributes exported i 433 throttle attributes exported in the 'throttle_stats' directory: 434 434 435 - turbo_stat : This file gives 435 - turbo_stat : This file gives the total number of times the max 436 frequency is throttled to lo 436 frequency is throttled to lower frequency in turbo (at and above 437 nominal frequency) range of 437 nominal frequency) range of frequencies. 438 438 439 - sub_turbo_stat : This file g 439 - sub_turbo_stat : This file gives the total number of times the 440 max frequency is throttled t 440 max frequency is throttled to lower frequency in sub-turbo(below 441 nominal frequency) range of 441 nominal frequency) range of frequencies. 442 442 443 - unthrottle : This file gives 443 - unthrottle : This file gives the total number of times the max 444 frequency is unthrottled aft 444 frequency is unthrottled after being throttled. 445 445 446 - powercap : This file gives t 446 - powercap : This file gives the total number of times the max 447 frequency is throttled due t 447 frequency is throttled due to 'Power Capping'. 448 448 449 - overtemp : This file gives t 449 - overtemp : This file gives the total number of times the max 450 frequency is throttled due t 450 frequency is throttled due to 'CPU Over Temperature'. 451 451 452 - supply_fault : This file giv 452 - supply_fault : This file gives the total number of times the 453 max frequency is throttled d 453 max frequency is throttled due to 'Power Supply Failure'. 454 454 455 - overcurrent : This file give 455 - overcurrent : This file gives the total number of times the 456 max frequency is throttled d 456 max frequency is throttled due to 'Overcurrent'. 457 457 458 - occ_reset : This file gives 458 - occ_reset : This file gives the total number of times the max 459 frequency is throttled due t 459 frequency is throttled due to 'OCC Reset'. 460 460 461 The sysfs attributes represent 461 The sysfs attributes representing different throttle reasons like 462 powercap, overtemp, supply_fau 462 powercap, overtemp, supply_fault, overcurrent and occ_reset map to 463 the reasons provided by OCC fi 463 the reasons provided by OCC firmware for throttling the frequency. 464 464 465 What: /sys/devices/system/cpu/cpufre 465 What: /sys/devices/system/cpu/cpufreq/policyX/throttle_stats 466 /sys/devices/system/cpu/cpufre 466 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/turbo_stat 467 /sys/devices/system/cpu/cpufre 467 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/sub_turbo_stat 468 /sys/devices/system/cpu/cpufre 468 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/unthrottle 469 /sys/devices/system/cpu/cpufre 469 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/powercap 470 /sys/devices/system/cpu/cpufre 470 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overtemp 471 /sys/devices/system/cpu/cpufre 471 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/supply_fault 472 /sys/devices/system/cpu/cpufre 472 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overcurrent 473 /sys/devices/system/cpu/cpufre 473 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/occ_reset 474 Date: March 2016 474 Date: March 2016 475 Contact: Linux kernel mailing list <linu 475 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 476 Linux for PowerPC mailing list< !! 476 Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> 477 Description: POWERNV CPUFreq driver's frequ 477 Description: POWERNV CPUFreq driver's frequency throttle stats directory and 478 attributes 478 attributes 479 479 480 'policyX/throttle_stats' direc 480 'policyX/throttle_stats' directory and all the attributes are same as 481 the /sys/devices/system/cpu/cp 481 the /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats directory and 482 attributes which give the freq 482 attributes which give the frequency throttle information of the chip. 483 483 484 What: /sys/devices/system/cpu/cpuX/r 484 What: /sys/devices/system/cpu/cpuX/regs/ 485 /sys/devices/system/cpu/cpuX/r 485 /sys/devices/system/cpu/cpuX/regs/identification/ 486 /sys/devices/system/cpu/cpuX/r 486 /sys/devices/system/cpu/cpuX/regs/identification/midr_el1 487 /sys/devices/system/cpu/cpuX/r 487 /sys/devices/system/cpu/cpuX/regs/identification/revidr_el1 488 /sys/devices/system/cpu/cpuX/r 488 /sys/devices/system/cpu/cpuX/regs/identification/smidr_el1 489 Date: June 2016 489 Date: June 2016 490 Contact: Linux ARM Kernel Mailing list < 490 Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org> 491 Description: AArch64 CPU registers 491 Description: AArch64 CPU registers 492 492 493 'identification' directory exp 493 'identification' directory exposes the CPU ID registers for 494 identifying model and revision 494 identifying model and revision of the CPU and SMCU. 495 495 496 What: /sys/devices/system/cpu/aarch3 496 What: /sys/devices/system/cpu/aarch32_el0 497 Date: May 2021 497 Date: May 2021 498 Contact: Linux ARM Kernel Mailing list < 498 Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org> 499 Description: Identifies the subset of CPUs 499 Description: Identifies the subset of CPUs in the system that can execute 500 AArch32 (32-bit ARM) applicati 500 AArch32 (32-bit ARM) applications. If present, the same format as 501 /sys/devices/system/cpu/{offli 501 /sys/devices/system/cpu/{offline,online,possible,present} is used. 502 If absent, then all or none of 502 If absent, then all or none of the CPUs can execute AArch32 503 applications and execve() will 503 applications and execve() will behave accordingly. 504 504 505 What: /sys/devices/system/cpu/cpuX/c 505 What: /sys/devices/system/cpu/cpuX/cpu_capacity 506 Date: December 2016 506 Date: December 2016 507 Contact: Linux kernel mailing list <linu 507 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 508 Description: information about CPUs heterog 508 Description: information about CPUs heterogeneity. 509 509 510 cpu_capacity: capacity of cpuX 510 cpu_capacity: capacity of cpuX. 511 511 512 What: /sys/devices/system/cpu/vulner 512 What: /sys/devices/system/cpu/vulnerabilities 513 /sys/devices/system/cpu/vulner 513 /sys/devices/system/cpu/vulnerabilities/gather_data_sampling 514 /sys/devices/system/cpu/vulner 514 /sys/devices/system/cpu/vulnerabilities/itlb_multihit 515 /sys/devices/system/cpu/vulner 515 /sys/devices/system/cpu/vulnerabilities/l1tf 516 /sys/devices/system/cpu/vulner 516 /sys/devices/system/cpu/vulnerabilities/mds 517 /sys/devices/system/cpu/vulner 517 /sys/devices/system/cpu/vulnerabilities/meltdown 518 /sys/devices/system/cpu/vulner 518 /sys/devices/system/cpu/vulnerabilities/mmio_stale_data 519 /sys/devices/system/cpu/vulner 519 /sys/devices/system/cpu/vulnerabilities/reg_file_data_sampling 520 /sys/devices/system/cpu/vulner 520 /sys/devices/system/cpu/vulnerabilities/retbleed 521 /sys/devices/system/cpu/vulner 521 /sys/devices/system/cpu/vulnerabilities/spec_store_bypass 522 /sys/devices/system/cpu/vulner 522 /sys/devices/system/cpu/vulnerabilities/spectre_v1 523 /sys/devices/system/cpu/vulner 523 /sys/devices/system/cpu/vulnerabilities/spectre_v2 524 /sys/devices/system/cpu/vulner 524 /sys/devices/system/cpu/vulnerabilities/srbds 525 /sys/devices/system/cpu/vulner 525 /sys/devices/system/cpu/vulnerabilities/tsx_async_abort 526 Date: January 2018 526 Date: January 2018 527 Contact: Linux kernel mailing list <linu 527 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 528 Description: Information about CPU vulnerab 528 Description: Information about CPU vulnerabilities 529 529 530 The files are named after the 530 The files are named after the code names of CPU 531 vulnerabilities. The output of 531 vulnerabilities. The output of those files reflects the 532 state of the CPUs in the syste 532 state of the CPUs in the system. Possible output values: 533 533 534 ================ ============ 534 ================ ============================================== 535 "Not affected" CPU is not a 535 "Not affected" CPU is not affected by the vulnerability 536 "Vulnerable" CPU is affec 536 "Vulnerable" CPU is affected and no mitigation in effect 537 "Mitigation: $M" CPU is affec 537 "Mitigation: $M" CPU is affected and mitigation $M is in effect 538 ================ ============ 538 ================ ============================================== 539 539 540 See also: Documentation/admin- 540 See also: Documentation/admin-guide/hw-vuln/index.rst 541 541 542 What: /sys/devices/system/cpu/smt 542 What: /sys/devices/system/cpu/smt 543 /sys/devices/system/cpu/smt/ac 543 /sys/devices/system/cpu/smt/active 544 /sys/devices/system/cpu/smt/co 544 /sys/devices/system/cpu/smt/control 545 Date: June 2018 545 Date: June 2018 546 Contact: Linux kernel mailing list <linu 546 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 547 Description: Control Symmetric Multi Thread 547 Description: Control Symmetric Multi Threading (SMT) 548 548 549 active: Tells whether SMT is 549 active: Tells whether SMT is active (enabled and siblings online) 550 550 551 control: Read/write interface 551 control: Read/write interface to control SMT. Possible 552 values: 552 values: 553 553 554 ================ ==== 554 ================ ========================================= 555 "on" SMT 555 "on" SMT is enabled 556 "off" SMT 556 "off" SMT is disabled 557 "<N>" SMT 557 "<N>" SMT is enabled with N threads per core. 558 "forceoff" SMT 558 "forceoff" SMT is force disabled. Cannot be changed. 559 "notsupported" SMT 559 "notsupported" SMT is not supported by the CPU 560 "notimplemented" SMT 560 "notimplemented" SMT runtime toggling is not 561 impl 561 implemented for the architecture 562 ================ ==== 562 ================ ========================================= 563 563 564 If control status is 564 If control status is "forceoff" or "notsupported" writes 565 are rejected. Note th !! 565 are rejected. 566 offline cores. << 567 566 568 What: /sys/devices/system/cpu/cpuX/p 567 What: /sys/devices/system/cpu/cpuX/power/energy_perf_bias 569 Date: March 2019 568 Date: March 2019 570 Contact: linux-pm@vger.kernel.org 569 Contact: linux-pm@vger.kernel.org 571 Description: Intel Energy and Performance B 570 Description: Intel Energy and Performance Bias Hint (EPB) 572 571 573 EPB for the given CPU in a sli 572 EPB for the given CPU in a sliding scale 0 - 15, where a value 574 of 0 corresponds to a hint pre 573 of 0 corresponds to a hint preference for highest performance 575 and a value of 15 corresponds 574 and a value of 15 corresponds to the maximum energy savings. 576 575 577 In order to change the EPB val 576 In order to change the EPB value for the CPU, write either 578 a number in the 0 - 15 sliding 577 a number in the 0 - 15 sliding scale above, or one of the 579 strings: "performance", "balan 578 strings: "performance", "balance-performance", "normal", 580 "balance-power", "power" (that 579 "balance-power", "power" (that represent values reflected by 581 their meaning), to this attrib 580 their meaning), to this attribute. 582 581 583 This attribute is present for 582 This attribute is present for all online CPUs supporting the 584 Intel EPB feature. 583 Intel EPB feature. 585 584 586 What: /sys/devices/system/cpu/umwait 585 What: /sys/devices/system/cpu/umwait_control 587 /sys/devices/system/cpu/umwait 586 /sys/devices/system/cpu/umwait_control/enable_c02 588 /sys/devices/system/cpu/umwait 587 /sys/devices/system/cpu/umwait_control/max_time 589 Date: May 2019 588 Date: May 2019 590 Contact: Linux kernel mailing list <linu 589 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 591 Description: Umwait control 590 Description: Umwait control 592 591 593 enable_c02: Read/write interfa 592 enable_c02: Read/write interface to control umwait C0.2 state 594 Read returns C0.2 stat 593 Read returns C0.2 state status: 595 0: C0.2 is dis 594 0: C0.2 is disabled 596 1: C0.2 is ena 595 1: C0.2 is enabled 597 596 598 Write 'y' or '1' or ' 597 Write 'y' or '1' or 'on' to enable C0.2 state. 599 Write 'n' or '0' or ' 598 Write 'n' or '0' or 'off' to disable C0.2 state. 600 599 601 The interface is case 600 The interface is case insensitive. 602 601 603 max_time: Read/write interface 602 max_time: Read/write interface to control umwait maximum time 604 in TSC-quanta that t 603 in TSC-quanta that the CPU can reside in either C0.1 605 or C0.2 state. The t 604 or C0.2 state. The time is an unsigned 32-bit number. 606 Note that a value of 605 Note that a value of zero means there is no limit. 607 Low order two bits m 606 Low order two bits must be zero. 608 607 609 What: /sys/devices/system/cpu/sev << 610 /sys/devices/system/cpu/sev/vm << 611 Date: May 2024 << 612 Contact: Linux kernel mailing list <linu << 613 Description: Secure Encrypted Virtualizatio << 614 << 615 This directory is only present << 616 << 617 vmpl: Reports the Virtual Mach << 618 the SEV-SNP guest is run << 619 << 620 << 621 What: /sys/devices/system/cpu/svm 608 What: /sys/devices/system/cpu/svm 622 Date: August 2019 609 Date: August 2019 623 Contact: Linux kernel mailing list <linu 610 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 624 Linux for PowerPC mailing list< !! 611 Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> 625 Description: Secure Virtual Machine 612 Description: Secure Virtual Machine 626 613 627 If 1, it means the system is u 614 If 1, it means the system is using the Protected Execution 628 Facility in POWER9 and newer p 615 Facility in POWER9 and newer processors. i.e., it is a Secure 629 Virtual Machine. 616 Virtual Machine. 630 617 631 What: /sys/devices/system/cpu/cpuX/p 618 What: /sys/devices/system/cpu/cpuX/purr 632 Date: Apr 2005 619 Date: Apr 2005 633 Contact: Linux for PowerPC mailing list< !! 620 Contact: Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> 634 Description: PURR ticks for this CPU since 621 Description: PURR ticks for this CPU since the system boot. 635 622 636 The Processor Utilization Reso 623 The Processor Utilization Resources Register (PURR) is 637 a 64-bit counter which provide 624 a 64-bit counter which provides an estimate of the 638 resources used by the CPU thre 625 resources used by the CPU thread. The contents of this 639 register increases monotonical 626 register increases monotonically. This sysfs interface 640 exposes the number of PURR tic 627 exposes the number of PURR ticks for cpuX. 641 628 642 What: /sys/devices/system/cpu/cpuX/s 629 What: /sys/devices/system/cpu/cpuX/spurr 643 Date: Dec 2006 630 Date: Dec 2006 644 Contact: Linux for PowerPC mailing list< !! 631 Contact: Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> 645 Description: SPURR ticks for this CPU since 632 Description: SPURR ticks for this CPU since the system boot. 646 633 647 The Scaled Processor Utilizati 634 The Scaled Processor Utilization Resources Register 648 (SPURR) is a 64-bit counter th 635 (SPURR) is a 64-bit counter that provides a frequency 649 invariant estimate of the reso 636 invariant estimate of the resources used by the CPU 650 thread. The contents of this r 637 thread. The contents of this register increases 651 monotonically. This sysfs inte 638 monotonically. This sysfs interface exposes the number 652 of SPURR ticks for cpuX. 639 of SPURR ticks for cpuX. 653 640 654 What: /sys/devices/system/cpu/cpuX/i 641 What: /sys/devices/system/cpu/cpuX/idle_purr 655 Date: Apr 2020 642 Date: Apr 2020 656 Contact: Linux for PowerPC mailing list< !! 643 Contact: Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> 657 Description: PURR ticks for cpuX when it wa 644 Description: PURR ticks for cpuX when it was idle. 658 645 659 This sysfs interface exposes t 646 This sysfs interface exposes the number of PURR ticks 660 for cpuX when it was idle. 647 for cpuX when it was idle. 661 648 662 What: /sys/devices/system/cpu/cpuX/i 649 What: /sys/devices/system/cpu/cpuX/idle_spurr 663 Date: Apr 2020 650 Date: Apr 2020 664 Contact: Linux for PowerPC mailing list< !! 651 Contact: Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> 665 Description: SPURR ticks for cpuX when it w 652 Description: SPURR ticks for cpuX when it was idle. 666 653 667 This sysfs interface exposes t 654 This sysfs interface exposes the number of SPURR ticks 668 for cpuX when it was idle. 655 for cpuX when it was idle. 669 656 670 What: /sys/devices/system/cpu/cpuX/m 657 What: /sys/devices/system/cpu/cpuX/mte_tcf_preferred 671 Date: July 2021 658 Date: July 2021 672 Contact: Linux ARM Kernel Mailing list < 659 Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org> 673 Description: Preferred MTE tag checking mod 660 Description: Preferred MTE tag checking mode 674 661 675 When a user program specifies 662 When a user program specifies more than one MTE tag checking 676 mode, this sysfs node is used 663 mode, this sysfs node is used to specify which mode should 677 be preferred when scheduling a 664 be preferred when scheduling a task on that CPU. Possible 678 values: 665 values: 679 666 680 ================ ============ 667 ================ ============================================== 681 "sync" Prefer synch 668 "sync" Prefer synchronous mode 682 "asymm" Prefer asymm 669 "asymm" Prefer asymmetric mode 683 "async" Prefer async 670 "async" Prefer asynchronous mode 684 ================ ============ 671 ================ ============================================== 685 672 686 See also: Documentation/arch/a 673 See also: Documentation/arch/arm64/memory-tagging-extension.rst 687 674 688 What: /sys/devices/system/cpu/nohz_f 675 What: /sys/devices/system/cpu/nohz_full 689 Date: Apr 2015 676 Date: Apr 2015 690 Contact: Linux kernel mailing list <linu 677 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 691 Description: 678 Description: 692 (RO) the list of CPUs that are 679 (RO) the list of CPUs that are in nohz_full mode. 693 These CPUs are set by boot par 680 These CPUs are set by boot parameter "nohz_full=". 694 681 695 What: /sys/devices/system/cpu/isolat 682 What: /sys/devices/system/cpu/isolated 696 Date: Apr 2015 683 Date: Apr 2015 697 Contact: Linux kernel mailing list <linu 684 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 698 Description: 685 Description: 699 (RO) the list of CPUs that are 686 (RO) the list of CPUs that are isolated and don't 700 participate in load balancing. 687 participate in load balancing. These CPUs are set by 701 boot parameter "isolcpus=". 688 boot parameter "isolcpus=". 702 689 703 What: /sys/devices/system/cpu/crash_ 690 What: /sys/devices/system/cpu/crash_hotplug 704 Date: Aug 2023 691 Date: Aug 2023 705 Contact: Linux kernel mailing list <linu 692 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 706 Description: 693 Description: 707 (RO) indicates whether or not !! 694 (RO) indicates whether or not the kernel directly supports 708 segments on memory hot un/plug !! 695 modifying the crash elfcorehdr for CPU hot un/plug and/or 709 need to reload kdump kernel. !! 696 on/offline changes. 710 << 711 What: /sys/devices/system/cpu/enable << 712 Date: Nov 2022 << 713 Contact: Linux kernel mailing list <linu << 714 Description: << 715 (RO) the list of CPUs that can <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.