| What: /sys/devices/system/cpu/ |
| Date: pre-git history |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: |
| A collection of both global and individual CPU attributes |
| |
| Individual CPU attributes are contained in subdirectories |
| named by the kernel's logical CPU number, e.g.: |
| |
| /sys/devices/system/cpu/cpuX/ |
| |
| What: /sys/devices/system/cpu/kernel_max |
| /sys/devices/system/cpu/offline |
| /sys/devices/system/cpu/online |
| /sys/devices/system/cpu/possible |
| /sys/devices/system/cpu/present |
| Date: December 2008 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: CPU topology files that describe kernel limits related to |
| hotplug. Briefly: |
| |
| kernel_max: the maximum cpu index allowed by the kernel |
| configuration. |
| |
| offline: cpus that are not online because they have been |
| HOTPLUGGED off or exceed the limit of cpus allowed by the |
| kernel configuration (kernel_max above). |
| |
| online: cpus that are online and being scheduled. |
| |
| possible: cpus that have been allocated resources and can be |
| brought online if they are present. |
| |
| present: cpus that have been identified as being present in |
| the system. |
| |
| See Documentation/admin-guide/cputopology.rst for more information. |
| |
| |
| What: /sys/devices/system/cpu/probe |
| /sys/devices/system/cpu/release |
| Date: November 2009 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: Dynamic addition and removal of CPU's. This is not hotplug |
| removal, this is meant complete removal/addition of the CPU |
| from the system. |
| |
| probe: writes to this file will dynamically add a CPU to the |
| system. Information written to the file to add CPU's is |
| architecture specific. |
| |
| release: writes to this file dynamically remove a CPU from |
| the system. Information written to the file to remove CPU's |
| is architecture specific. |
| |
| What: /sys/devices/system/cpu/cpuX/node |
| Date: October 2009 |
| Contact: Linux memory management mailing list <linux-mm@kvack.org> |
| Description: Discover NUMA node a CPU belongs to |
| |
| When CONFIG_NUMA is enabled, a symbolic link that points |
| to the corresponding NUMA node directory. |
| |
| For example, the following symlink is created for cpu42 |
| in NUMA node 2: |
| |
| /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2 |
| |
| |
| What: /sys/devices/system/cpu/cpuX/topology/core_siblings |
| /sys/devices/system/cpu/cpuX/topology/core_siblings_list |
| /sys/devices/system/cpu/cpuX/topology/physical_package_id |
| /sys/devices/system/cpu/cpuX/topology/thread_siblings |
| /sys/devices/system/cpu/cpuX/topology/thread_siblings_list |
| /sys/devices/system/cpu/cpuX/topology/ppin |
| Date: December 2008 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: CPU topology files that describe a logical CPU's relationship |
| to other cores and threads in the same physical package. |
| |
| One cpuX directory is created per logical CPU in the system, |
| e.g. /sys/devices/system/cpu/cpu42/. |
| |
| Briefly, the files above are: |
| |
| core_siblings: internal kernel map of cpuX's hardware threads |
| within the same physical_package_id. |
| |
| core_siblings_list: human-readable list of the logical CPU |
| numbers within the same physical_package_id as cpuX. |
| |
| physical_package_id: physical package id of cpuX. Typically |
| corresponds to a physical socket number, but the actual value |
| is architecture and platform dependent. |
| |
| thread_siblings: internal kernel map of cpuX's hardware |
| threads within the same core as cpuX |
| |
| thread_siblings_list: human-readable list of cpuX's hardware |
| threads within the same core as cpuX |
| |
| ppin: human-readable Protected Processor Identification |
| Number of the socket the cpu# belongs to. There should be |
| one per physical_package_id. File is readable only to |
| admin. |
| |
| See Documentation/admin-guide/cputopology.rst for more information. |
| |
| |
| What: /sys/devices/system/cpu/cpuidle/available_governors |
| /sys/devices/system/cpu/cpuidle/current_driver |
| /sys/devices/system/cpu/cpuidle/current_governor |
| /sys/devices/system/cpu/cpuidle/current_governer_ro |
| Date: September 2007 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: Discover cpuidle policy and mechanism |
| |
| Various CPUs today support multiple idle levels that are |
| differentiated by varying exit latencies and power |
| consumption during idle. |
| |
| Idle policy (governor) is differentiated from idle mechanism |
| (driver). |
| |
| available_governors: (RO) displays a space separated list of |
| available governors. |
| |
| current_driver: (RO) displays current idle mechanism. |
| |
| current_governor: (RW) displays current idle policy. Users can |
| switch the governor at runtime by writing to this file. |
| |
| current_governor_ro: (RO) displays current idle policy. |
| |
| See Documentation/admin-guide/pm/cpuidle.rst and |
| Documentation/driver-api/pm/cpuidle.rst for more information. |
| |
| |
| What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/name |
| /sys/devices/system/cpu/cpuX/cpuidle/stateN/latency |
| /sys/devices/system/cpu/cpuX/cpuidle/stateN/power |
| /sys/devices/system/cpu/cpuX/cpuidle/stateN/time |
| /sys/devices/system/cpu/cpuX/cpuidle/stateN/usage |
| /sys/devices/system/cpu/cpuX/cpuidle/stateN/above |
| /sys/devices/system/cpu/cpuX/cpuidle/stateN/below |
| Date: September 2007 |
| KernelVersion: v2.6.24 |
| Contact: Linux power management list <linux-pm@vger.kernel.org> |
| Description: |
| The directory /sys/devices/system/cpu/cpuX/cpuidle contains per |
| logical CPU specific cpuidle information for each online cpu X. |
| The processor idle states which are available for use have the |
| following attributes: |
| |
| ======== ==== ================================================= |
| name: (RO) Name of the idle state (string). |
| |
| latency: (RO) The latency to exit out of this idle state (in |
| microseconds). |
| |
| power: (RO) The power consumed while in this idle state (in |
| milliwatts). |
| |
| time: (RO) The total time spent in this idle state |
| (in microseconds). |
| |
| usage: (RO) Number of times this state was entered (a count). |
| |
| above: (RO) Number of times this state was entered, but the |
| observed CPU idle duration was too short for it |
| (a count). |
| |
| below: (RO) Number of times this state was entered, but the |
| observed CPU idle duration was too long for it |
| (a count). |
| ======== ==== ================================================= |
| |
| What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/desc |
| Date: February 2008 |
| KernelVersion: v2.6.25 |
| Contact: Linux power management list <linux-pm@vger.kernel.org> |
| Description: |
| (RO) A small description about the idle state (string). |
| |
| |
| What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/disable |
| Date: March 2012 |
| KernelVersion: v3.10 |
| Contact: Linux power management list <linux-pm@vger.kernel.org> |
| Description: |
| (RW) Option to disable this idle state (bool). The behavior and |
| the effect of the disable variable depends on the implementation |
| of a particular governor. In the ladder governor, for example, |
| it is not coherent, i.e. if one is disabling a light state, then |
| all deeper states are disabled as well, but the disable variable |
| does not reflect it. Likewise, if one enables a deep state but a |
| lighter state still is disabled, then this has no effect. |
| |
| What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/default_status |
| Date: December 2019 |
| KernelVersion: v5.6 |
| Contact: Linux power management list <linux-pm@vger.kernel.org> |
| Description: |
| (RO) The default status of this state, "enabled" or "disabled". |
| |
| What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/residency |
| Date: March 2014 |
| KernelVersion: v3.15 |
| Contact: Linux power management list <linux-pm@vger.kernel.org> |
| Description: |
| (RO) Display the target residency i.e. the minimum amount of |
| time (in microseconds) this cpu should spend in this idle state |
| to make the transition worth the effort. |
| |
| What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/ |
| Date: March 2018 |
| KernelVersion: v4.17 |
| Contact: Linux power management list <linux-pm@vger.kernel.org> |
| Description: |
| Idle state usage statistics related to suspend-to-idle. |
| |
| This attribute group is only present for states that can be |
| used in suspend-to-idle with suspended timekeeping. |
| |
| What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/time |
| Date: March 2018 |
| KernelVersion: v4.17 |
| Contact: Linux power management list <linux-pm@vger.kernel.org> |
| Description: |
| Total time spent by the CPU in suspend-to-idle (with scheduler |
| tick suspended) after requesting this state. |
| |
| What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/usage |
| Date: March 2018 |
| KernelVersion: v4.17 |
| Contact: Linux power management list <linux-pm@vger.kernel.org> |
| Description: |
| Total number of times this state has been requested by the CPU |
| while entering suspend-to-idle. |
| |
| What: /sys/devices/system/cpu/cpuX/cpufreq/* |
| Date: pre-git history |
| Contact: linux-pm@vger.kernel.org |
| Description: Discover and change clock speed of CPUs |
| |
| Clock scaling allows you to change the clock speed of the |
| CPUs on the fly. This is a nice method to save battery |
| power, because the lower the clock speed, the less power |
| the CPU consumes. |
| |
| There are many knobs to tweak in this directory. |
| |
| See files in Documentation/cpu-freq/ for more information. |
| |
| |
| What: /sys/devices/system/cpu/cpuX/cpufreq/freqdomain_cpus |
| Date: June 2013 |
| Contact: linux-pm@vger.kernel.org |
| Description: Discover CPUs in the same CPU frequency coordination domain |
| |
| freqdomain_cpus is the list of CPUs (online+offline) that share |
| the same clock/freq domain (possibly at the hardware level). |
| That information may be hidden from the cpufreq core and the |
| value of related_cpus may be different from freqdomain_cpus. This |
| attribute is useful for user space DVFS controllers to get better |
| power/performance results for platforms using acpi-cpufreq. |
| |
| This file is only present if the acpi-cpufreq or the cppc-cpufreq |
| drivers are in use. |
| |
| |
| What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1} |
| Date: August 2008 |
| KernelVersion: 2.6.27 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: Disable L3 cache indices |
| |
| These files exist in every CPU's cache/index3 directory. Each |
| cache_disable_{0,1} file corresponds to one disable slot which |
| can be used to disable a cache index. Reading from these files |
| on a processor with this functionality will return the currently |
| disabled index for that node. There is one L3 structure per |
| node, or per internal node on MCM machines. Writing a valid |
| index to one of these files will cause the specified cache |
| index to be disabled. |
| |
| All AMD processors with L3 caches provide this functionality. |
| For details, see BKDGs at |
| https://www.amd.com/en/support/tech-docs?keyword=bios+kernel |
| |
| |
| What: /sys/devices/system/cpu/cpufreq/boost |
| Date: August 2012 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: Processor frequency boosting control |
| |
| This switch controls the boost setting for the whole system. |
| Boosting allows the CPU and the firmware to run at a frequency |
| beyond its nominal limit. |
| |
| More details can be found in |
| Documentation/admin-guide/pm/cpufreq.rst |
| |
| |
| What: /sys/devices/system/cpu/cpuX/crash_notes |
| /sys/devices/system/cpu/cpuX/crash_notes_size |
| Date: April 2013 |
| Contact: kexec@lists.infradead.org |
| Description: address and size of the percpu note. |
| |
| crash_notes: the physical address of the memory that holds the |
| note of cpuX. |
| |
| crash_notes_size: size of the note of cpuX. |
| |
| |
| What: /sys/devices/system/cpu/intel_pstate/max_perf_pct |
| /sys/devices/system/cpu/intel_pstate/min_perf_pct |
| /sys/devices/system/cpu/intel_pstate/no_turbo |
| Date: February 2013 |
| Contact: linux-pm@vger.kernel.org |
| Description: Parameters for the Intel P-state driver |
| |
| Logic for selecting the current P-state in Intel |
| Sandybridge+ processors. The three knobs control |
| limits for the P-state that will be requested by the |
| driver. |
| |
| max_perf_pct: limits the maximum P state that will be requested by |
| the driver stated as a percentage of the available performance. |
| |
| min_perf_pct: limits the minimum P state that will be requested by |
| the driver stated as a percentage of the available performance. |
| |
| no_turbo: limits the driver to selecting P states below the turbo |
| frequency range. |
| |
| More details can be found in |
| Documentation/admin-guide/pm/intel_pstate.rst |
| |
| What: /sys/devices/system/cpu/cpu*/cache/index*/<set_of_attributes_mentioned_below> |
| Date: July 2014(documented, existed before August 2008) |
| Contact: Sudeep Holla <sudeep.holla@arm.com> |
| Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: Parameters for the CPU cache attributes |
| |
| allocation_policy: |
| - WriteAllocate: |
| allocate a memory location to a cache line |
| on a cache miss because of a write |
| - ReadAllocate: |
| allocate a memory location to a cache line |
| on a cache miss because of a read |
| - ReadWriteAllocate: |
| both writeallocate and readallocate |
| |
| coherency_line_size: |
| the minimum amount of data in bytes that gets |
| transferred from memory to cache |
| |
| level: |
| the cache hierarchy in the multi-level cache configuration |
| |
| number_of_sets: |
| total number of sets in the cache, a set is a |
| collection of cache lines with the same cache index |
| |
| physical_line_partition: |
| number of physical cache line per cache tag |
| |
| shared_cpu_list: |
| the list of logical cpus sharing the cache |
| |
| shared_cpu_map: |
| logical cpu mask containing the list of cpus sharing |
| the cache |
| |
| size: |
| the total cache size in kB |
| |
| type: |
| - Instruction: cache that only holds instructions |
| - Data: cache that only caches data |
| - Unified: cache that holds both data and instructions |
| |
| ways_of_associativity: |
| degree of freedom in placing a particular block |
| of memory in the cache |
| |
| write_policy: |
| - WriteThrough: |
| data is written to both the cache line |
| and to the block in the lower-level memory |
| - WriteBack: |
| data is written only to the cache line and |
| the modified cache line is written to main |
| memory only when it is replaced |
| |
| |
| What: /sys/devices/system/cpu/cpu*/cache/index*/id |
| Date: September 2016 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: Cache id |
| |
| The id provides a unique number for a specific instance of |
| a cache of a particular type. E.g. there may be a level |
| 3 unified cache on each socket in a server and we may |
| assign them ids 0, 1, 2, ... |
| |
| Note that id value can be non-contiguous. E.g. level 1 |
| caches typically exist per core, but there may not be a |
| power of two cores on a socket, so these caches may be |
| numbered 0, 1, 2, 3, 4, 5, 8, 9, 10, ... |
| |
| What: /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats |
| /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/turbo_stat |
| /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/sub_turbo_stat |
| /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/unthrottle |
| /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/powercap |
| /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overtemp |
| /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/supply_fault |
| /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overcurrent |
| /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/occ_reset |
| Date: March 2016 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org> |
| Description: POWERNV CPUFreq driver's frequency throttle stats directory and |
| attributes |
| |
| 'cpuX/cpufreq/throttle_stats' directory contains the CPU frequency |
| throttle stat attributes for the chip. The throttle stats of a cpu |
| is common across all the cpus belonging to a chip. Below are the |
| throttle attributes exported in the 'throttle_stats' directory: |
| |
| - turbo_stat : This file gives the total number of times the max |
| frequency is throttled to lower frequency in turbo (at and above |
| nominal frequency) range of frequencies. |
| |
| - sub_turbo_stat : This file gives the total number of times the |
| max frequency is throttled to lower frequency in sub-turbo(below |
| nominal frequency) range of frequencies. |
| |
| - unthrottle : This file gives the total number of times the max |
| frequency is unthrottled after being throttled. |
| |
| - powercap : This file gives the total number of times the max |
| frequency is throttled due to 'Power Capping'. |
| |
| - overtemp : This file gives the total number of times the max |
| frequency is throttled due to 'CPU Over Temperature'. |
| |
| - supply_fault : This file gives the total number of times the |
| max frequency is throttled due to 'Power Supply Failure'. |
| |
| - overcurrent : This file gives the total number of times the |
| max frequency is throttled due to 'Overcurrent'. |
| |
| - occ_reset : This file gives the total number of times the max |
| frequency is throttled due to 'OCC Reset'. |
| |
| The sysfs attributes representing different throttle reasons like |
| powercap, overtemp, supply_fault, overcurrent and occ_reset map to |
| the reasons provided by OCC firmware for throttling the frequency. |
| |
| What: /sys/devices/system/cpu/cpufreq/policyX/throttle_stats |
| /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/turbo_stat |
| /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/sub_turbo_stat |
| /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/unthrottle |
| /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/powercap |
| /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overtemp |
| /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/supply_fault |
| /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overcurrent |
| /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/occ_reset |
| Date: March 2016 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org> |
| Description: POWERNV CPUFreq driver's frequency throttle stats directory and |
| attributes |
| |
| 'policyX/throttle_stats' directory and all the attributes are same as |
| the /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats directory and |
| attributes which give the frequency throttle information of the chip. |
| |
| What: /sys/devices/system/cpu/cpuX/regs/ |
| /sys/devices/system/cpu/cpuX/regs/identification/ |
| /sys/devices/system/cpu/cpuX/regs/identification/midr_el1 |
| /sys/devices/system/cpu/cpuX/regs/identification/revidr_el1 |
| /sys/devices/system/cpu/cpuX/regs/identification/smidr_el1 |
| Date: June 2016 |
| Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org> |
| Description: AArch64 CPU registers |
| |
| 'identification' directory exposes the CPU ID registers for |
| identifying model and revision of the CPU and SMCU. |
| |
| What: /sys/devices/system/cpu/aarch32_el0 |
| Date: May 2021 |
| Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org> |
| Description: Identifies the subset of CPUs in the system that can execute |
| AArch32 (32-bit ARM) applications. If present, the same format as |
| /sys/devices/system/cpu/{offline,online,possible,present} is used. |
| If absent, then all or none of the CPUs can execute AArch32 |
| applications and execve() will behave accordingly. |
| |
| What: /sys/devices/system/cpu/cpuX/cpu_capacity |
| Date: December 2016 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: information about CPUs heterogeneity. |
| |
| cpu_capacity: capacity of cpuX. |
| |
| What: /sys/devices/system/cpu/vulnerabilities |
| /sys/devices/system/cpu/vulnerabilities/gather_data_sampling |
| /sys/devices/system/cpu/vulnerabilities/itlb_multihit |
| /sys/devices/system/cpu/vulnerabilities/l1tf |
| /sys/devices/system/cpu/vulnerabilities/mds |
| /sys/devices/system/cpu/vulnerabilities/meltdown |
| /sys/devices/system/cpu/vulnerabilities/mmio_stale_data |
| /sys/devices/system/cpu/vulnerabilities/reg_file_data_sampling |
| /sys/devices/system/cpu/vulnerabilities/retbleed |
| /sys/devices/system/cpu/vulnerabilities/spec_store_bypass |
| /sys/devices/system/cpu/vulnerabilities/spectre_v1 |
| /sys/devices/system/cpu/vulnerabilities/spectre_v2 |
| /sys/devices/system/cpu/vulnerabilities/srbds |
| /sys/devices/system/cpu/vulnerabilities/tsx_async_abort |
| Date: January 2018 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: Information about CPU vulnerabilities |
| |
| The files are named after the code names of CPU |
| vulnerabilities. The output of those files reflects the |
| state of the CPUs in the system. Possible output values: |
| |
| ================ ============================================== |
| "Not affected" CPU is not affected by the vulnerability |
| "Vulnerable" CPU is affected and no mitigation in effect |
| "Mitigation: $M" CPU is affected and mitigation $M is in effect |
| ================ ============================================== |
| |
| See also: Documentation/admin-guide/hw-vuln/index.rst |
| |
| What: /sys/devices/system/cpu/smt |
| /sys/devices/system/cpu/smt/active |
| /sys/devices/system/cpu/smt/control |
| Date: June 2018 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: Control Symmetric Multi Threading (SMT) |
| |
| active: Tells whether SMT is active (enabled and siblings online) |
| |
| control: Read/write interface to control SMT. Possible |
| values: |
| |
| ================ ========================================= |
| "on" SMT is enabled |
| "off" SMT is disabled |
| "<N>" SMT is enabled with N threads per core. |
| "forceoff" SMT is force disabled. Cannot be changed. |
| "notsupported" SMT is not supported by the CPU |
| "notimplemented" SMT runtime toggling is not |
| implemented for the architecture |
| ================ ========================================= |
| |
| If control status is "forceoff" or "notsupported" writes |
| are rejected. Note that enabling SMT on PowerPC skips |
| offline cores. |
| |
| What: /sys/devices/system/cpu/cpuX/power/energy_perf_bias |
| Date: March 2019 |
| Contact: linux-pm@vger.kernel.org |
| Description: Intel Energy and Performance Bias Hint (EPB) |
| |
| EPB for the given CPU in a sliding scale 0 - 15, where a value |
| of 0 corresponds to a hint preference for highest performance |
| and a value of 15 corresponds to the maximum energy savings. |
| |
| In order to change the EPB value for the CPU, write either |
| a number in the 0 - 15 sliding scale above, or one of the |
| strings: "performance", "balance-performance", "normal", |
| "balance-power", "power" (that represent values reflected by |
| their meaning), to this attribute. |
| |
| This attribute is present for all online CPUs supporting the |
| Intel EPB feature. |
| |
| What: /sys/devices/system/cpu/umwait_control |
| /sys/devices/system/cpu/umwait_control/enable_c02 |
| /sys/devices/system/cpu/umwait_control/max_time |
| Date: May 2019 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: Umwait control |
| |
| enable_c02: Read/write interface to control umwait C0.2 state |
| Read returns C0.2 state status: |
| 0: C0.2 is disabled |
| 1: C0.2 is enabled |
| |
| Write 'y' or '1' or 'on' to enable C0.2 state. |
| Write 'n' or '0' or 'off' to disable C0.2 state. |
| |
| The interface is case insensitive. |
| |
| max_time: Read/write interface to control umwait maximum time |
| in TSC-quanta that the CPU can reside in either C0.1 |
| or C0.2 state. The time is an unsigned 32-bit number. |
| Note that a value of zero means there is no limit. |
| Low order two bits must be zero. |
| |
| What: /sys/devices/system/cpu/sev |
| /sys/devices/system/cpu/sev/vmpl |
| Date: May 2024 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: Secure Encrypted Virtualization (SEV) information |
| |
| This directory is only present when running as an SEV-SNP guest. |
| |
| vmpl: Reports the Virtual Machine Privilege Level (VMPL) at which |
| the SEV-SNP guest is running. |
| |
| |
| What: /sys/devices/system/cpu/svm |
| Date: August 2019 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org> |
| Description: Secure Virtual Machine |
| |
| If 1, it means the system is using the Protected Execution |
| Facility in POWER9 and newer processors. i.e., it is a Secure |
| Virtual Machine. |
| |
| What: /sys/devices/system/cpu/cpuX/purr |
| Date: Apr 2005 |
| Contact: Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org> |
| Description: PURR ticks for this CPU since the system boot. |
| |
| The Processor Utilization Resources Register (PURR) is |
| a 64-bit counter which provides an estimate of the |
| resources used by the CPU thread. The contents of this |
| register increases monotonically. This sysfs interface |
| exposes the number of PURR ticks for cpuX. |
| |
| What: /sys/devices/system/cpu/cpuX/spurr |
| Date: Dec 2006 |
| Contact: Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org> |
| Description: SPURR ticks for this CPU since the system boot. |
| |
| The Scaled Processor Utilization Resources Register |
| (SPURR) is a 64-bit counter that provides a frequency |
| invariant estimate of the resources used by the CPU |
| thread. The contents of this register increases |
| monotonically. This sysfs interface exposes the number |
| of SPURR ticks for cpuX. |
| |
| What: /sys/devices/system/cpu/cpuX/idle_purr |
| Date: Apr 2020 |
| Contact: Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org> |
| Description: PURR ticks for cpuX when it was idle. |
| |
| This sysfs interface exposes the number of PURR ticks |
| for cpuX when it was idle. |
| |
| What: /sys/devices/system/cpu/cpuX/idle_spurr |
| Date: Apr 2020 |
| Contact: Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org> |
| Description: SPURR ticks for cpuX when it was idle. |
| |
| This sysfs interface exposes the number of SPURR ticks |
| for cpuX when it was idle. |
| |
| What: /sys/devices/system/cpu/cpuX/mte_tcf_preferred |
| Date: July 2021 |
| Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org> |
| Description: Preferred MTE tag checking mode |
| |
| When a user program specifies more than one MTE tag checking |
| mode, this sysfs node is used to specify which mode should |
| be preferred when scheduling a task on that CPU. Possible |
| values: |
| |
| ================ ============================================== |
| "sync" Prefer synchronous mode |
| "asymm" Prefer asymmetric mode |
| "async" Prefer asynchronous mode |
| ================ ============================================== |
| |
| See also: Documentation/arch/arm64/memory-tagging-extension.rst |
| |
| What: /sys/devices/system/cpu/nohz_full |
| Date: Apr 2015 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: |
| (RO) the list of CPUs that are in nohz_full mode. |
| These CPUs are set by boot parameter "nohz_full=". |
| |
| What: /sys/devices/system/cpu/isolated |
| Date: Apr 2015 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: |
| (RO) the list of CPUs that are isolated and don't |
| participate in load balancing. These CPUs are set by |
| boot parameter "isolcpus=". |
| |
| What: /sys/devices/system/cpu/crash_hotplug |
| Date: Aug 2023 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: |
| (RO) indicates whether or not the kernel directly supports |
| modifying the crash elfcorehdr for CPU hot un/plug and/or |
| on/offline changes. |
| |
| What: /sys/devices/system/cpu/enabled |
| Date: Nov 2022 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: |
| (RO) the list of CPUs that can be brought online. |