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_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
 | 
						|
 | 
						|
		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
 | 
						|
		/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
 | 
						|
			 "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=".
 |