Back to home page

OSCL-LXR

 
 

    


0001 What:           /sys/devices/system/cpu/
0002 Date:           pre-git history
0003 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0004 Description:
0005                 A collection of both global and individual CPU attributes
0006 
0007                 Individual CPU attributes are contained in subdirectories
0008                 named by the kernel's logical CPU number, e.g.:
0009 
0010                 /sys/devices/system/cpu/cpuX/
0011 
0012 What:           /sys/devices/system/cpu/kernel_max
0013                 /sys/devices/system/cpu/offline
0014                 /sys/devices/system/cpu/online
0015                 /sys/devices/system/cpu/possible
0016                 /sys/devices/system/cpu/present
0017 Date:           December 2008
0018 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0019 Description:    CPU topology files that describe kernel limits related to
0020                 hotplug. Briefly:
0021 
0022                 kernel_max: the maximum cpu index allowed by the kernel
0023                 configuration.
0024 
0025                 offline: cpus that are not online because they have been
0026                 HOTPLUGGED off or exceed the limit of cpus allowed by the
0027                 kernel configuration (kernel_max above).
0028 
0029                 online: cpus that are online and being scheduled.
0030 
0031                 possible: cpus that have been allocated resources and can be
0032                 brought online if they are present.
0033 
0034                 present: cpus that have been identified as being present in
0035                 the system.
0036 
0037                 See Documentation/admin-guide/cputopology.rst for more information.
0038 
0039 
0040 What:           /sys/devices/system/cpu/probe
0041                 /sys/devices/system/cpu/release
0042 Date:           November 2009
0043 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0044 Description:    Dynamic addition and removal of CPU's.  This is not hotplug
0045                 removal, this is meant complete removal/addition of the CPU
0046                 from the system.
0047 
0048                 probe: writes to this file will dynamically add a CPU to the
0049                 system.  Information written to the file to add CPU's is
0050                 architecture specific.
0051 
0052                 release: writes to this file dynamically remove a CPU from
0053                 the system.  Information written to the file to remove CPU's
0054                 is architecture specific.
0055 
0056 What:           /sys/devices/system/cpu/cpuX/node
0057 Date:           October 2009
0058 Contact:        Linux memory management mailing list <linux-mm@kvack.org>
0059 Description:    Discover NUMA node a CPU belongs to
0060 
0061                 When CONFIG_NUMA is enabled, a symbolic link that points
0062                 to the corresponding NUMA node directory.
0063 
0064                 For example, the following symlink is created for cpu42
0065                 in NUMA node 2:
0066 
0067                 /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2
0068 
0069 
0070 What:           /sys/devices/system/cpu/cpuX/topology/core_siblings
0071                 /sys/devices/system/cpu/cpuX/topology/core_siblings_list
0072                 /sys/devices/system/cpu/cpuX/topology/physical_package_id
0073                 /sys/devices/system/cpu/cpuX/topology/thread_siblings
0074                 /sys/devices/system/cpu/cpuX/topology/thread_siblings_list
0075                 /sys/devices/system/cpu/cpuX/topology/ppin
0076 Date:           December 2008
0077 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0078 Description:    CPU topology files that describe a logical CPU's relationship
0079                 to other cores and threads in the same physical package.
0080 
0081                 One cpuX directory is created per logical CPU in the system,
0082                 e.g. /sys/devices/system/cpu/cpu42/.
0083 
0084                 Briefly, the files above are:
0085 
0086                 core_siblings: internal kernel map of cpuX's hardware threads
0087                 within the same physical_package_id.
0088 
0089                 core_siblings_list: human-readable list of the logical CPU
0090                 numbers within the same physical_package_id as cpuX.
0091 
0092                 physical_package_id: physical package id of cpuX. Typically
0093                 corresponds to a physical socket number, but the actual value
0094                 is architecture and platform dependent.
0095 
0096                 thread_siblings: internal kernel map of cpuX's hardware
0097                 threads within the same core as cpuX
0098 
0099                 thread_siblings_list: human-readable list of cpuX's hardware
0100                 threads within the same core as cpuX
0101 
0102                 ppin: human-readable Protected Processor Identification
0103                 Number of the socket the cpu# belongs to. There should be
0104                 one per physical_package_id. File is readable only to
0105                 admin.
0106 
0107                 See Documentation/admin-guide/cputopology.rst for more information.
0108 
0109 
0110 What:           /sys/devices/system/cpu/cpuidle/available_governors
0111                 /sys/devices/system/cpu/cpuidle/current_driver
0112                 /sys/devices/system/cpu/cpuidle/current_governor
0113                 /sys/devices/system/cpu/cpuidle/current_governer_ro
0114 Date:           September 2007
0115 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0116 Description:    Discover cpuidle policy and mechanism
0117 
0118                 Various CPUs today support multiple idle levels that are
0119                 differentiated by varying exit latencies and power
0120                 consumption during idle.
0121 
0122                 Idle policy (governor) is differentiated from idle mechanism
0123                 (driver).
0124 
0125                 available_governors: (RO) displays a space separated list of
0126                 available governors.
0127 
0128                 current_driver: (RO) displays current idle mechanism.
0129 
0130                 current_governor: (RW) displays current idle policy. Users can
0131                 switch the governor at runtime by writing to this file.
0132 
0133                 current_governor_ro: (RO) displays current idle policy.
0134 
0135                 See Documentation/admin-guide/pm/cpuidle.rst and
0136                 Documentation/driver-api/pm/cpuidle.rst for more information.
0137 
0138 
0139 What:           /sys/devices/system/cpu/cpuX/cpuidle/state<N>/name
0140                 /sys/devices/system/cpu/cpuX/cpuidle/stateN/latency
0141                 /sys/devices/system/cpu/cpuX/cpuidle/stateN/power
0142                 /sys/devices/system/cpu/cpuX/cpuidle/stateN/time
0143                 /sys/devices/system/cpu/cpuX/cpuidle/stateN/usage
0144                 /sys/devices/system/cpu/cpuX/cpuidle/stateN/above
0145                 /sys/devices/system/cpu/cpuX/cpuidle/stateN/below
0146 Date:           September 2007
0147 KernelVersion:  v2.6.24
0148 Contact:        Linux power management list <linux-pm@vger.kernel.org>
0149 Description:
0150                 The directory /sys/devices/system/cpu/cpuX/cpuidle contains per
0151                 logical CPU specific cpuidle information for each online cpu X.
0152                 The processor idle states which are available for use have the
0153                 following attributes:
0154 
0155                 ======== ==== =================================================
0156                 name:    (RO) Name of the idle state (string).
0157 
0158                 latency: (RO) The latency to exit out of this idle state (in
0159                               microseconds).
0160 
0161                 power:   (RO) The power consumed while in this idle state (in
0162                               milliwatts).
0163 
0164                 time:    (RO) The total time spent in this idle state
0165                               (in microseconds).
0166 
0167                 usage:   (RO) Number of times this state was entered (a count).
0168 
0169                 above:   (RO) Number of times this state was entered, but the
0170                               observed CPU idle duration was too short for it
0171                               (a count).
0172 
0173                 below:   (RO) Number of times this state was entered, but the
0174                               observed CPU idle duration was too long for it
0175                               (a count).
0176                 ======== ==== =================================================
0177 
0178 What:           /sys/devices/system/cpu/cpuX/cpuidle/state<N>/desc
0179 Date:           February 2008
0180 KernelVersion:  v2.6.25
0181 Contact:        Linux power management list <linux-pm@vger.kernel.org>
0182 Description:
0183                 (RO) A small description about the idle state (string).
0184 
0185 
0186 What:           /sys/devices/system/cpu/cpuX/cpuidle/state<N>/disable
0187 Date:           March 2012
0188 KernelVersion:  v3.10
0189 Contact:        Linux power management list <linux-pm@vger.kernel.org>
0190 Description:
0191                 (RW) Option to disable this idle state (bool). The behavior and
0192                 the effect of the disable variable depends on the implementation
0193                 of a particular governor. In the ladder governor, for example,
0194                 it is not coherent, i.e. if one is disabling a light state, then
0195                 all deeper states are disabled as well, but the disable variable
0196                 does not reflect it. Likewise, if one enables a deep state but a
0197                 lighter state still is disabled, then this has no effect.
0198 
0199 What:           /sys/devices/system/cpu/cpuX/cpuidle/state<N>/default_status
0200 Date:           December 2019
0201 KernelVersion:  v5.6
0202 Contact:        Linux power management list <linux-pm@vger.kernel.org>
0203 Description:
0204                 (RO) The default status of this state, "enabled" or "disabled".
0205 
0206 What:           /sys/devices/system/cpu/cpuX/cpuidle/state<N>/residency
0207 Date:           March 2014
0208 KernelVersion:  v3.15
0209 Contact:        Linux power management list <linux-pm@vger.kernel.org>
0210 Description:
0211                 (RO) Display the target residency i.e. the minimum amount of
0212                 time (in microseconds) this cpu should spend in this idle state
0213                 to make the transition worth the effort.
0214 
0215 What:           /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/
0216 Date:           March 2018
0217 KernelVersion:  v4.17
0218 Contact:        Linux power management list <linux-pm@vger.kernel.org>
0219 Description:
0220                 Idle state usage statistics related to suspend-to-idle.
0221 
0222                 This attribute group is only present for states that can be
0223                 used in suspend-to-idle with suspended timekeeping.
0224 
0225 What:           /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/time
0226 Date:           March 2018
0227 KernelVersion:  v4.17
0228 Contact:        Linux power management list <linux-pm@vger.kernel.org>
0229 Description:
0230                 Total time spent by the CPU in suspend-to-idle (with scheduler
0231                 tick suspended) after requesting this state.
0232 
0233 What:           /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/usage
0234 Date:           March 2018
0235 KernelVersion:  v4.17
0236 Contact:        Linux power management list <linux-pm@vger.kernel.org>
0237 Description:
0238                 Total number of times this state has been requested by the CPU
0239                 while entering suspend-to-idle.
0240 
0241 What:           /sys/devices/system/cpu/cpuX/cpufreq/*
0242 Date:           pre-git history
0243 Contact:        linux-pm@vger.kernel.org
0244 Description:    Discover and change clock speed of CPUs
0245 
0246                 Clock scaling allows you to change the clock speed of the
0247                 CPUs on the fly. This is a nice method to save battery
0248                 power, because the lower the clock speed, the less power
0249                 the CPU consumes.
0250 
0251                 There are many knobs to tweak in this directory.
0252 
0253                 See files in Documentation/cpu-freq/ for more information.
0254 
0255 
0256 What:           /sys/devices/system/cpu/cpuX/cpufreq/freqdomain_cpus
0257 Date:           June 2013
0258 Contact:        linux-pm@vger.kernel.org
0259 Description:    Discover CPUs in the same CPU frequency coordination domain
0260 
0261                 freqdomain_cpus is the list of CPUs (online+offline) that share
0262                 the same clock/freq domain (possibly at the hardware level).
0263                 That information may be hidden from the cpufreq core and the
0264                 value of related_cpus may be different from freqdomain_cpus. This
0265                 attribute is useful for user space DVFS controllers to get better
0266                 power/performance results for platforms using acpi-cpufreq.
0267 
0268                 This file is only present if the acpi-cpufreq or the cppc-cpufreq
0269                 drivers are in use.
0270 
0271 
0272 What:           /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
0273 Date:           August 2008
0274 KernelVersion:  2.6.27
0275 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0276 Description:    Disable L3 cache indices
0277 
0278                 These files exist in every CPU's cache/index3 directory. Each
0279                 cache_disable_{0,1} file corresponds to one disable slot which
0280                 can be used to disable a cache index. Reading from these files
0281                 on a processor with this functionality will return the currently
0282                 disabled index for that node. There is one L3 structure per
0283                 node, or per internal node on MCM machines. Writing a valid
0284                 index to one of these files will cause the specified cache
0285                 index to be disabled.
0286 
0287                 All AMD processors with L3 caches provide this functionality.
0288                 For details, see BKDGs at
0289                 https://www.amd.com/en/support/tech-docs?keyword=bios+kernel
0290 
0291 
0292 What:           /sys/devices/system/cpu/cpufreq/boost
0293 Date:           August 2012
0294 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0295 Description:    Processor frequency boosting control
0296 
0297                 This switch controls the boost setting for the whole system.
0298                 Boosting allows the CPU and the firmware to run at a frequency
0299                 beyond it's nominal limit.
0300 
0301                 More details can be found in
0302                 Documentation/admin-guide/pm/cpufreq.rst
0303 
0304 
0305 What:           /sys/devices/system/cpu/cpuX/crash_notes
0306                 /sys/devices/system/cpu/cpuX/crash_notes_size
0307 Date:           April 2013
0308 Contact:        kexec@lists.infradead.org
0309 Description:    address and size of the percpu note.
0310 
0311                 crash_notes: the physical address of the memory that holds the
0312                 note of cpuX.
0313 
0314                 crash_notes_size: size of the note of cpuX.
0315 
0316 
0317 What:           /sys/devices/system/cpu/intel_pstate/max_perf_pct
0318                 /sys/devices/system/cpu/intel_pstate/min_perf_pct
0319                 /sys/devices/system/cpu/intel_pstate/no_turbo
0320 Date:           February 2013
0321 Contact:        linux-pm@vger.kernel.org
0322 Description:    Parameters for the Intel P-state driver
0323 
0324                 Logic for selecting the current P-state in Intel
0325                 Sandybridge+ processors. The three knobs control
0326                 limits for the P-state that will be requested by the
0327                 driver.
0328 
0329                 max_perf_pct: limits the maximum P state that will be requested by
0330                 the driver stated as a percentage of the available performance.
0331 
0332                 min_perf_pct: limits the minimum P state that will be requested by
0333                 the driver stated as a percentage of the available performance.
0334 
0335                 no_turbo: limits the driver to selecting P states below the turbo
0336                 frequency range.
0337 
0338                 More details can be found in
0339                 Documentation/admin-guide/pm/intel_pstate.rst
0340 
0341 What:           /sys/devices/system/cpu/cpu*/cache/index*/<set_of_attributes_mentioned_below>
0342 Date:           July 2014(documented, existed before August 2008)
0343 Contact:        Sudeep Holla <sudeep.holla@arm.com>
0344                 Linux kernel mailing list <linux-kernel@vger.kernel.org>
0345 Description:    Parameters for the CPU cache attributes
0346 
0347                 allocation_policy:
0348                         - WriteAllocate:
0349                                         allocate a memory location to a cache line
0350                                         on a cache miss because of a write
0351                         - ReadAllocate:
0352                                         allocate a memory location to a cache line
0353                                         on a cache miss because of a read
0354                         - ReadWriteAllocate:
0355                                         both writeallocate and readallocate
0356 
0357                 attributes:
0358                             LEGACY used only on IA64 and is same as write_policy
0359 
0360                 coherency_line_size:
0361                                      the minimum amount of data in bytes that gets
0362                                      transferred from memory to cache
0363 
0364                 level:
0365                         the cache hierarchy in the multi-level cache configuration
0366 
0367                 number_of_sets:
0368                                 total number of sets in the cache, a set is a
0369                                 collection of cache lines with the same cache index
0370 
0371                 physical_line_partition:
0372                                 number of physical cache line per cache tag
0373 
0374                 shared_cpu_list:
0375                                 the list of logical cpus sharing the cache
0376 
0377                 shared_cpu_map:
0378                                 logical cpu mask containing the list of cpus sharing
0379                                 the cache
0380 
0381                 size:
0382                         the total cache size in kB
0383 
0384                 type:
0385                         - Instruction: cache that only holds instructions
0386                         - Data: cache that only caches data
0387                         - Unified: cache that holds both data and instructions
0388 
0389                 ways_of_associativity:
0390                         degree of freedom in placing a particular block
0391                         of memory in the cache
0392 
0393                 write_policy:
0394                         - WriteThrough:
0395                                         data is written to both the cache line
0396                                         and to the block in the lower-level memory
0397                         - WriteBack:
0398                                      data is written only to the cache line and
0399                                      the modified cache line is written to main
0400                                      memory only when it is replaced
0401 
0402 
0403 What:           /sys/devices/system/cpu/cpu*/cache/index*/id
0404 Date:           September 2016
0405 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0406 Description:    Cache id
0407 
0408                 The id provides a unique number for a specific instance of
0409                 a cache of a particular type. E.g. there may be a level
0410                 3 unified cache on each socket in a server and we may
0411                 assign them ids 0, 1, 2, ...
0412 
0413                 Note that id value can be non-contiguous. E.g. level 1
0414                 caches typically exist per core, but there may not be a
0415                 power of two cores on a socket, so these caches may be
0416                 numbered 0, 1, 2, 3, 4, 5, 8, 9, 10, ...
0417 
0418 What:           /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats
0419                 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/turbo_stat
0420                 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/sub_turbo_stat
0421                 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/unthrottle
0422                 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/powercap
0423                 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overtemp
0424                 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/supply_fault
0425                 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overcurrent
0426                 /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/occ_reset
0427 Date:           March 2016
0428 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0429                 Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
0430 Description:    POWERNV CPUFreq driver's frequency throttle stats directory and
0431                 attributes
0432 
0433                 'cpuX/cpufreq/throttle_stats' directory contains the CPU frequency
0434                 throttle stat attributes for the chip. The throttle stats of a cpu
0435                 is common across all the cpus belonging to a chip. Below are the
0436                 throttle attributes exported in the 'throttle_stats' directory:
0437 
0438                 - turbo_stat : This file gives the total number of times the max
0439                   frequency is throttled to lower frequency in turbo (at and above
0440                   nominal frequency) range of frequencies.
0441 
0442                 - sub_turbo_stat : This file gives the total number of times the
0443                   max frequency is throttled to lower frequency in sub-turbo(below
0444                   nominal frequency) range of frequencies.
0445 
0446                 - unthrottle : This file gives the total number of times the max
0447                   frequency is unthrottled after being throttled.
0448 
0449                 - powercap : This file gives the total number of times the max
0450                   frequency is throttled due to 'Power Capping'.
0451 
0452                 - overtemp : This file gives the total number of times the max
0453                   frequency is throttled due to 'CPU Over Temperature'.
0454 
0455                 - supply_fault : This file gives the total number of times the
0456                   max frequency is throttled due to 'Power Supply Failure'.
0457 
0458                 - overcurrent : This file gives the total number of times the
0459                   max frequency is throttled due to 'Overcurrent'.
0460 
0461                 - occ_reset : This file gives the total number of times the max
0462                   frequency is throttled due to 'OCC Reset'.
0463 
0464                 The sysfs attributes representing different throttle reasons like
0465                 powercap, overtemp, supply_fault, overcurrent and occ_reset map to
0466                 the reasons provided by OCC firmware for throttling the frequency.
0467 
0468 What:           /sys/devices/system/cpu/cpufreq/policyX/throttle_stats
0469                 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/turbo_stat
0470                 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/sub_turbo_stat
0471                 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/unthrottle
0472                 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/powercap
0473                 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overtemp
0474                 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/supply_fault
0475                 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overcurrent
0476                 /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/occ_reset
0477 Date:           March 2016
0478 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0479                 Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
0480 Description:    POWERNV CPUFreq driver's frequency throttle stats directory and
0481                 attributes
0482 
0483                 'policyX/throttle_stats' directory and all the attributes are same as
0484                 the /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats directory and
0485                 attributes which give the frequency throttle information of the chip.
0486 
0487 What:           /sys/devices/system/cpu/cpuX/regs/
0488                 /sys/devices/system/cpu/cpuX/regs/identification/
0489                 /sys/devices/system/cpu/cpuX/regs/identification/midr_el1
0490                 /sys/devices/system/cpu/cpuX/regs/identification/revidr_el1
0491                 /sys/devices/system/cpu/cpuX/regs/identification/smidr_el1
0492 Date:           June 2016
0493 Contact:        Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
0494 Description:    AArch64 CPU registers
0495 
0496                 'identification' directory exposes the CPU ID registers for
0497                 identifying model and revision of the CPU and SMCU.
0498 
0499 What:           /sys/devices/system/cpu/aarch32_el0
0500 Date:           May 2021
0501 Contact:        Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
0502 Description:    Identifies the subset of CPUs in the system that can execute
0503                 AArch32 (32-bit ARM) applications. If present, the same format as
0504                 /sys/devices/system/cpu/{offline,online,possible,present} is used.
0505                 If absent, then all or none of the CPUs can execute AArch32
0506                 applications and execve() will behave accordingly.
0507 
0508 What:           /sys/devices/system/cpu/cpuX/cpu_capacity
0509 Date:           December 2016
0510 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0511 Description:    information about CPUs heterogeneity.
0512 
0513                 cpu_capacity: capacity of cpuX.
0514 
0515 What:           /sys/devices/system/cpu/vulnerabilities
0516                 /sys/devices/system/cpu/vulnerabilities/meltdown
0517                 /sys/devices/system/cpu/vulnerabilities/spectre_v1
0518                 /sys/devices/system/cpu/vulnerabilities/spectre_v2
0519                 /sys/devices/system/cpu/vulnerabilities/spec_store_bypass
0520                 /sys/devices/system/cpu/vulnerabilities/l1tf
0521                 /sys/devices/system/cpu/vulnerabilities/mds
0522                 /sys/devices/system/cpu/vulnerabilities/srbds
0523                 /sys/devices/system/cpu/vulnerabilities/tsx_async_abort
0524                 /sys/devices/system/cpu/vulnerabilities/itlb_multihit
0525                 /sys/devices/system/cpu/vulnerabilities/mmio_stale_data
0526                 /sys/devices/system/cpu/vulnerabilities/retbleed
0527 Date:           January 2018
0528 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0529 Description:    Information about CPU vulnerabilities
0530 
0531                 The files are named after the code names of CPU
0532                 vulnerabilities. The output of those files reflects the
0533                 state of the CPUs in the system. Possible output values:
0534 
0535                 ================  ==============================================
0536                 "Not affected"    CPU is not affected by the vulnerability
0537                 "Vulnerable"      CPU is affected and no mitigation in effect
0538                 "Mitigation: $M"  CPU is affected and mitigation $M is in effect
0539                 ================  ==============================================
0540 
0541                 See also: Documentation/admin-guide/hw-vuln/index.rst
0542 
0543 What:           /sys/devices/system/cpu/smt
0544                 /sys/devices/system/cpu/smt/active
0545                 /sys/devices/system/cpu/smt/control
0546 Date:           June 2018
0547 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0548 Description:    Control Symmetric Multi Threading (SMT)
0549 
0550                 active:  Tells whether SMT is active (enabled and siblings online)
0551 
0552                 control: Read/write interface to control SMT. Possible
0553                          values:
0554 
0555                          ================ =========================================
0556                          "on"             SMT is enabled
0557                          "off"            SMT is disabled
0558                          "forceoff"       SMT is force disabled. Cannot be changed.
0559                          "notsupported"   SMT is not supported by the CPU
0560                          "notimplemented" SMT runtime toggling is not
0561                                           implemented for the architecture
0562                          ================ =========================================
0563 
0564                          If control status is "forceoff" or "notsupported" writes
0565                          are rejected.
0566 
0567 What:           /sys/devices/system/cpu/cpuX/power/energy_perf_bias
0568 Date:           March 2019
0569 Contact:        linux-pm@vger.kernel.org
0570 Description:    Intel Energy and Performance Bias Hint (EPB)
0571 
0572                 EPB for the given CPU in a sliding scale 0 - 15, where a value
0573                 of 0 corresponds to a hint preference for highest performance
0574                 and a value of 15 corresponds to the maximum energy savings.
0575 
0576                 In order to change the EPB value for the CPU, write either
0577                 a number in the 0 - 15 sliding scale above, or one of the
0578                 strings: "performance", "balance-performance", "normal",
0579                 "balance-power", "power" (that represent values reflected by
0580                 their meaning), to this attribute.
0581 
0582                 This attribute is present for all online CPUs supporting the
0583                 Intel EPB feature.
0584 
0585 What:           /sys/devices/system/cpu/umwait_control
0586                 /sys/devices/system/cpu/umwait_control/enable_c02
0587                 /sys/devices/system/cpu/umwait_control/max_time
0588 Date:           May 2019
0589 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0590 Description:    Umwait control
0591 
0592                 enable_c02: Read/write interface to control umwait C0.2 state
0593                         Read returns C0.2 state status:
0594                                 0: C0.2 is disabled
0595                                 1: C0.2 is enabled
0596 
0597                         Write 'y' or '1'  or 'on' to enable C0.2 state.
0598                         Write 'n' or '0'  or 'off' to disable C0.2 state.
0599 
0600                         The interface is case insensitive.
0601 
0602                 max_time: Read/write interface to control umwait maximum time
0603                           in TSC-quanta that the CPU can reside in either C0.1
0604                           or C0.2 state. The time is an unsigned 32-bit number.
0605                           Note that a value of zero means there is no limit.
0606                           Low order two bits must be zero.
0607 
0608 What:           /sys/devices/system/cpu/svm
0609 Date:           August 2019
0610 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0611                 Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
0612 Description:    Secure Virtual Machine
0613 
0614                 If 1, it means the system is using the Protected Execution
0615                 Facility in POWER9 and newer processors. i.e., it is a Secure
0616                 Virtual Machine.
0617 
0618 What:           /sys/devices/system/cpu/cpuX/purr
0619 Date:           Apr 2005
0620 Contact:        Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
0621 Description:    PURR ticks for this CPU since the system boot.
0622 
0623                 The Processor Utilization Resources Register (PURR) is
0624                 a 64-bit counter which provides an estimate of the
0625                 resources used by the CPU thread. The contents of this
0626                 register increases monotonically. This sysfs interface
0627                 exposes the number of PURR ticks for cpuX.
0628 
0629 What:           /sys/devices/system/cpu/cpuX/spurr
0630 Date:           Dec 2006
0631 Contact:        Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
0632 Description:    SPURR ticks for this CPU since the system boot.
0633 
0634                 The Scaled Processor Utilization Resources Register
0635                 (SPURR) is a 64-bit counter that provides a frequency
0636                 invariant estimate of the resources used by the CPU
0637                 thread. The contents of this register increases
0638                 monotonically. This sysfs interface exposes the number
0639                 of SPURR ticks for cpuX.
0640 
0641 What:           /sys/devices/system/cpu/cpuX/idle_purr
0642 Date:           Apr 2020
0643 Contact:        Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
0644 Description:    PURR ticks for cpuX when it was idle.
0645 
0646                 This sysfs interface exposes the number of PURR ticks
0647                 for cpuX when it was idle.
0648 
0649 What:           /sys/devices/system/cpu/cpuX/idle_spurr
0650 Date:           Apr 2020
0651 Contact:        Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
0652 Description:    SPURR ticks for cpuX when it was idle.
0653 
0654                 This sysfs interface exposes the number of SPURR ticks
0655                 for cpuX when it was idle.
0656 
0657 What:           /sys/devices/system/cpu/cpuX/mte_tcf_preferred
0658 Date:           July 2021
0659 Contact:        Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
0660 Description:    Preferred MTE tag checking mode
0661 
0662                 When a user program specifies more than one MTE tag checking
0663                 mode, this sysfs node is used to specify which mode should
0664                 be preferred when scheduling a task on that CPU. Possible
0665                 values:
0666 
0667                 ================  ==============================================
0668                 "sync"            Prefer synchronous mode
0669                 "asymm"           Prefer asymmetric mode
0670                 "async"           Prefer asynchronous mode
0671                 ================  ==============================================
0672 
0673                 See also: Documentation/arm64/memory-tagging-extension.rst
0674 
0675 What:           /sys/devices/system/cpu/nohz_full
0676 Date:           Apr 2015
0677 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0678 Description:
0679                 (RO) the list of CPUs that are in nohz_full mode.
0680                 These CPUs are set by boot parameter "nohz_full=".
0681 
0682 What:           /sys/devices/system/cpu/isolated
0683 Date:           Apr 2015
0684 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
0685 Description:
0686                 (RO) the list of CPUs that are isolated and don't
0687                 participate in load balancing. These CPUs are set by
0688                 boot parameter "isolcpus=".