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