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