mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-18 00:24:58 +08:00
d752e21114
Add the PPIN number to sysfs so that sockets can be identified when replacement is needed - Minor fixes and cleanups -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEzv7L6UO9uDPlPSfHEsHwGGHeVUoFAmI4UBcACgkQEsHwGGHe VUoDQw/9E2WVsLS+iVngYI5hY+LQbbeOLPt9sqgdf8U/4tQPwJfAKYRALQ3FvjbJ XKEqcHoCIBH0XQSC0TPpBF96VABr5Vrc/knV8x2OWJ82p54beB0rXh5mdsnsrVMQ 7Gi00iEgZ1kw7TwRN7rMzUpudNOr7C/SSQL535hyZA4NT9QkNBObZWHMnojVnEmr AW1TY54xXSpu7xDY5ari5NGeSgvu1PIsCy0EKMK/SFLEpKQW4lt+lUe1aSieMarj xgnfIyGW3SUbadwlvLbIqVpR0RQBDLTabx8nyXnJAVZlwuAfioRUGL+Z4GFA0Y7q uDofxuScBAea3sPPFAAIoh13y595TjowBX7pHA1sqjWLmFKt6Qqz5dq1uBVEvIYw uTAQ/igJ4N2jq03jwnAw1LUAES5azSseCsiQxR7oqzK9KaRlptxHTAqhjqsgpIp4 VLdYtgkzOEFiOsWsHWP1Dd+vzpMvTh5gtTXZuVcldo2D6scdcj+oaloHQ5XMiFu1 GKuyiY4EbkRcp9ZQ847xOn4knEg+aq9zL0tJoWWEMKfRQn6425TEOLqkIdc9QfeU t63yqJ1q3NTjjzxzy/FdKwdoyOOQxeDl5YGPX3gZnj9X/0wgs+dHRmKp0o74SIg9 4h2kB69wRwn6rC09P2UkQVGpDL0mnif4ZAh61vRE+mS0zSNCkEA= =MWVZ -----END PGP SIGNATURE----- Merge tag 'x86_cpu_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cpu feature updates from Borislav Petkov: - Merge the AMD and Intel PPIN code into a shared one by both vendors. Add the PPIN number to sysfs so that sockets can be identified when replacement is needed - Minor fixes and cleanups * tag 'x86_cpu_for_v5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpu: Clear SME feature flag when not in use x86/cpufeatures: Put the AMX macros in the word 18 block topology/sysfs: Add PPIN in sysfs under cpu topology topology/sysfs: Add format parameter to macro defining "show" functions for proc x86/cpu: Read/save PPIN MSR during initialization x86/cpu: X86_FEATURE_INTEL_PPIN finally has a CPUID bit x86/cpu: Merge Intel and AMD ppin_init() functions x86/CPU/AMD: Use default_groups in kobj_type
691 lines
26 KiB
Plaintext
691 lines
26 KiB
Plaintext
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_id
|
|
/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_id: the CPU core ID of cpuX. Typically it is the
|
|
hardware platform's identifier (rather than the kernel's).
|
|
The actual value is architecture and platform dependent.
|
|
|
|
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 it's 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
|
|
|
|
attributes:
|
|
LEGACY used only on IA64 and is same as write_policy
|
|
|
|
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@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@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
|
|
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.
|
|
|
|
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/meltdown
|
|
/sys/devices/system/cpu/vulnerabilities/spectre_v1
|
|
/sys/devices/system/cpu/vulnerabilities/spectre_v2
|
|
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass
|
|
/sys/devices/system/cpu/vulnerabilities/l1tf
|
|
/sys/devices/system/cpu/vulnerabilities/mds
|
|
/sys/devices/system/cpu/vulnerabilities/srbds
|
|
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
|
|
/sys/devices/system/cpu/vulnerabilities/itlb_multihit
|
|
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
|
|
"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.
|
|
|
|
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/svm
|
|
Date: August 2019
|
|
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
|
|
Linux for PowerPC mailing list <linuxppc-dev@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@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@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@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@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/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=".
|