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