xref: /linux/Documentation/ABI/testing/sysfs-devices-system-cpu (revision 85502b2214d50ba0ddf2a5fb454e4d28a160d175)
12ceb3fb0SAlex ChiangWhat:		/sys/devices/system/cpu/
22ceb3fb0SAlex ChiangDate:		pre-git history
32ceb3fb0SAlex ChiangContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
42ceb3fb0SAlex ChiangDescription:
52ceb3fb0SAlex Chiang		A collection of both global and individual CPU attributes
62ceb3fb0SAlex Chiang
72ceb3fb0SAlex Chiang		Individual CPU attributes are contained in subdirectories
82ceb3fb0SAlex Chiang		named by the kernel's logical CPU number, e.g.:
92ceb3fb0SAlex Chiang
10abcb948dSMauro Carvalho Chehab		/sys/devices/system/cpu/cpuX/
112ceb3fb0SAlex Chiang
12d93fc863SAlex ChiangWhat:		/sys/devices/system/cpu/kernel_max
13d93fc863SAlex Chiang		/sys/devices/system/cpu/offline
14d93fc863SAlex Chiang		/sys/devices/system/cpu/online
15d93fc863SAlex Chiang		/sys/devices/system/cpu/possible
16d93fc863SAlex Chiang		/sys/devices/system/cpu/present
17d93fc863SAlex ChiangDate:		December 2008
18d93fc863SAlex ChiangContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
19d93fc863SAlex ChiangDescription:	CPU topology files that describe kernel limits related to
20d93fc863SAlex Chiang		hotplug. Briefly:
21d93fc863SAlex Chiang
22d93fc863SAlex Chiang		kernel_max: the maximum cpu index allowed by the kernel
23d93fc863SAlex Chiang		configuration.
24d93fc863SAlex Chiang
25d93fc863SAlex Chiang		offline: cpus that are not online because they have been
26d93fc863SAlex Chiang		HOTPLUGGED off or exceed the limit of cpus allowed by the
27d93fc863SAlex Chiang		kernel configuration (kernel_max above).
28d93fc863SAlex Chiang
29d93fc863SAlex Chiang		online: cpus that are online and being scheduled.
30d93fc863SAlex Chiang
31d93fc863SAlex Chiang		possible: cpus that have been allocated resources and can be
32d93fc863SAlex Chiang		brought online if they are present.
33d93fc863SAlex Chiang
34d93fc863SAlex Chiang		present: cpus that have been identified as being present in
35d93fc863SAlex Chiang		the system.
36d93fc863SAlex Chiang
374f4cfa6cSMauro Carvalho Chehab		See Documentation/admin-guide/cputopology.rst for more information.
38d93fc863SAlex Chiang
39d93fc863SAlex Chiang
4012633e80SNathan FontenotWhat:		/sys/devices/system/cpu/probe
4112633e80SNathan Fontenot		/sys/devices/system/cpu/release
4212633e80SNathan FontenotDate:		November 2009
4312633e80SNathan FontenotContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
4412633e80SNathan FontenotDescription:	Dynamic addition and removal of CPU's.  This is not hotplug
4512633e80SNathan Fontenot		removal, this is meant complete removal/addition of the CPU
4612633e80SNathan Fontenot		from the system.
4712633e80SNathan Fontenot
4812633e80SNathan Fontenot		probe: writes to this file will dynamically add a CPU to the
4912633e80SNathan Fontenot		system.  Information written to the file to add CPU's is
5012633e80SNathan Fontenot		architecture specific.
5112633e80SNathan Fontenot
5212633e80SNathan Fontenot		release: writes to this file dynamically remove a CPU from
5312633e80SNathan Fontenot		the system.  Information written to the file to remove CPU's
5412633e80SNathan Fontenot		is architecture specific.
55657348a0SAlex Chiang
56abcb948dSMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/node
57657348a0SAlex ChiangDate:		October 2009
58657348a0SAlex ChiangContact:	Linux memory management mailing list <linux-mm@kvack.org>
59657348a0SAlex ChiangDescription:	Discover NUMA node a CPU belongs to
60657348a0SAlex Chiang
61657348a0SAlex Chiang		When CONFIG_NUMA is enabled, a symbolic link that points
62657348a0SAlex Chiang		to the corresponding NUMA node directory.
63657348a0SAlex Chiang
64657348a0SAlex Chiang		For example, the following symlink is created for cpu42
65657348a0SAlex Chiang		in NUMA node 2:
66657348a0SAlex Chiang
67657348a0SAlex Chiang		/sys/devices/system/cpu/cpu42/node2 -> ../../node/node2
68657348a0SAlex Chiang
69657348a0SAlex Chiang
701d248d23SMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/topology/core_siblings
71abcb948dSMauro Carvalho Chehab		/sys/devices/system/cpu/cpuX/topology/core_siblings_list
72abcb948dSMauro Carvalho Chehab		/sys/devices/system/cpu/cpuX/topology/physical_package_id
73abcb948dSMauro Carvalho Chehab		/sys/devices/system/cpu/cpuX/topology/thread_siblings
74abcb948dSMauro Carvalho Chehab		/sys/devices/system/cpu/cpuX/topology/thread_siblings_list
75ab28e944STony Luck		/sys/devices/system/cpu/cpuX/topology/ppin
76663fb2fcSAlex ChiangDate:		December 2008
77663fb2fcSAlex ChiangContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
78663fb2fcSAlex ChiangDescription:	CPU topology files that describe a logical CPU's relationship
79663fb2fcSAlex Chiang		to other cores and threads in the same physical package.
80663fb2fcSAlex Chiang
81abcb948dSMauro Carvalho Chehab		One cpuX directory is created per logical CPU in the system,
82663fb2fcSAlex Chiang		e.g. /sys/devices/system/cpu/cpu42/.
83663fb2fcSAlex Chiang
84663fb2fcSAlex Chiang		Briefly, the files above are:
85663fb2fcSAlex Chiang
86abcb948dSMauro Carvalho Chehab		core_siblings: internal kernel map of cpuX's hardware threads
87663fb2fcSAlex Chiang		within the same physical_package_id.
88663fb2fcSAlex Chiang
89663fb2fcSAlex Chiang		core_siblings_list: human-readable list of the logical CPU
90abcb948dSMauro Carvalho Chehab		numbers within the same physical_package_id as cpuX.
91663fb2fcSAlex Chiang
92abcb948dSMauro Carvalho Chehab		physical_package_id: physical package id of cpuX. Typically
93663fb2fcSAlex Chiang		corresponds to a physical socket number, but the actual value
94663fb2fcSAlex Chiang		is architecture and platform dependent.
95663fb2fcSAlex Chiang
96abcb948dSMauro Carvalho Chehab		thread_siblings: internal kernel map of cpuX's hardware
97abcb948dSMauro Carvalho Chehab		threads within the same core as cpuX
98663fb2fcSAlex Chiang
99abcb948dSMauro Carvalho Chehab		thread_siblings_list: human-readable list of cpuX's hardware
100abcb948dSMauro Carvalho Chehab		threads within the same core as cpuX
101663fb2fcSAlex Chiang
102ab28e944STony Luck		ppin: human-readable Protected Processor Identification
103ab28e944STony Luck		Number of the socket the cpu# belongs to. There should be
104ab28e944STony Luck		one per physical_package_id. File is readable only to
105ab28e944STony Luck		admin.
106ab28e944STony Luck
1074f4cfa6cSMauro Carvalho Chehab		See Documentation/admin-guide/cputopology.rst for more information.
108663fb2fcSAlex Chiang
109663fb2fcSAlex Chiang
1107395683aSHanjun GuoWhat:		/sys/devices/system/cpu/cpuidle/available_governors
1117395683aSHanjun Guo		/sys/devices/system/cpu/cpuidle/current_driver
112b6d8ef86SAishwarya Pant		/sys/devices/system/cpu/cpuidle/current_governor
1137395683aSHanjun Guo		/sys/devices/system/cpu/cpuidle/current_governer_ro
114c1fb5c47SAlex Chiang		/sys/devices/system/cpu/cpuidle/intel_c1_demotion
115c1fb5c47SAlex ChiangDate:		September 2007
116c1fb5c47SAlex ChiangContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
117c1fb5c47SAlex ChiangDescription:	Discover cpuidle policy and mechanism
118c1fb5c47SAlex Chiang
119c1fb5c47SAlex Chiang		Various CPUs today support multiple idle levels that are
120c1fb5c47SAlex Chiang		differentiated by varying exit latencies and power
121c1fb5c47SAlex Chiang		consumption during idle.
122c1fb5c47SAlex Chiang
1237395683aSHanjun Guo		Idle policy (governor) is differentiated from idle mechanism
124b6d8ef86SAishwarya Pant		(driver).
125b6d8ef86SAishwarya Pant
1267395683aSHanjun Guo		available_governors: (RO) displays a space separated list of
1277395683aSHanjun Guo		available governors.
1287395683aSHanjun Guo
129b6d8ef86SAishwarya Pant		current_driver: (RO) displays current idle mechanism.
130b6d8ef86SAishwarya Pant
131b6d8ef86SAishwarya Pant		current_governor: (RW) displays current idle policy. Users can
132c1fb5c47SAlex Chiang		switch the governor at runtime by writing to this file.
1337395683aSHanjun Guo
1347395683aSHanjun Guo		current_governor_ro: (RO) displays current idle policy.
135671c3095SMauro Carvalho Chehab
136671c3095SMauro Carvalho Chehab		intel_c1_demotion: (RW) enables/disables the C1 demotion
137c1fb5c47SAlex Chiang		feature on Intel CPUs.
138c1fb5c47SAlex Chiang
13926d6ba2fSMauro Carvalho Chehab		See Documentation/admin-guide/pm/cpuidle.rst,
140b6d8ef86SAishwarya Pant		Documentation/admin-guide/pm/intel_idle.rst, and
141b6d8ef86SAishwarya Pant		Documentation/driver-api/pm/cpuidle.rst for more information.
142b6d8ef86SAishwarya Pant
143b6d8ef86SAishwarya Pant
14404dab58aSRafael J. WysockiWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/name
14504dab58aSRafael J. Wysocki		/sys/devices/system/cpu/cpuX/cpuidle/stateN/latency
146b6d8ef86SAishwarya Pant		/sys/devices/system/cpu/cpuX/cpuidle/stateN/power
147b6d8ef86SAishwarya Pant		/sys/devices/system/cpu/cpuX/cpuidle/stateN/time
148b6d8ef86SAishwarya Pant		/sys/devices/system/cpu/cpuX/cpuidle/stateN/usage
149b6d8ef86SAishwarya Pant		/sys/devices/system/cpu/cpuX/cpuidle/stateN/above
150b6d8ef86SAishwarya Pant		/sys/devices/system/cpu/cpuX/cpuidle/stateN/below
151b6d8ef86SAishwarya PantDate:		September 2007
152b6d8ef86SAishwarya PantKernelVersion:	v2.6.24
153b6d8ef86SAishwarya PantContact:	Linux power management list <linux-pm@vger.kernel.org>
154b6d8ef86SAishwarya PantDescription:
15534433332SMauro Carvalho Chehab		The directory /sys/devices/system/cpu/cpuX/cpuidle contains per
156b6d8ef86SAishwarya Pant		logical CPU specific cpuidle information for each online cpu X.
157b6d8ef86SAishwarya Pant		The processor idle states which are available for use have the
158b6d8ef86SAishwarya Pant		following attributes:
159b6d8ef86SAishwarya Pant
160b6d8ef86SAishwarya Pant		======== ==== =================================================
161b6d8ef86SAishwarya Pant		name:	 (RO) Name of the idle state (string).
162b6d8ef86SAishwarya Pant
163b6d8ef86SAishwarya Pant		latency: (RO) The latency to exit out of this idle state (in
16434433332SMauro Carvalho Chehab			      microseconds).
16534433332SMauro Carvalho Chehab
166b6d8ef86SAishwarya Pant		power:   (RO) The power consumed while in this idle state (in
167b6d8ef86SAishwarya Pant			      milliwatts).
168b6d8ef86SAishwarya Pant
16904dab58aSRafael J. Wysocki		time:    (RO) The total time spent in this idle state
17034433332SMauro Carvalho Chehab			      (in microseconds).
17134433332SMauro Carvalho Chehab
17204dab58aSRafael J. Wysocki		usage:	 (RO) Number of times this state was entered (a count).
17304dab58aSRafael J. Wysocki
17434433332SMauro Carvalho Chehab		above:	 (RO) Number of times this state was entered, but the
17534433332SMauro Carvalho Chehab			      observed CPU idle duration was too short for it
17634433332SMauro Carvalho Chehab			      (a count).
177b6d8ef86SAishwarya Pant
17826d6ba2fSMauro Carvalho Chehab		below:	 (RO) Number of times this state was entered, but the
179b6d8ef86SAishwarya Pant			      observed CPU idle duration was too long for it
180b6d8ef86SAishwarya Pant			      (a count).
181b6d8ef86SAishwarya Pant		======== ==== =================================================
182b6d8ef86SAishwarya Pant
183b6d8ef86SAishwarya PantWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/desc
184b6d8ef86SAishwarya PantDate:		February 2008
185b6d8ef86SAishwarya PantKernelVersion:	v2.6.25
18626d6ba2fSMauro Carvalho ChehabContact:	Linux power management list <linux-pm@vger.kernel.org>
187b6d8ef86SAishwarya PantDescription:
188b6d8ef86SAishwarya Pant		(RO) A small description about the idle state (string).
189b6d8ef86SAishwarya Pant
190b6d8ef86SAishwarya Pant
191b6d8ef86SAishwarya PantWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/disable
192b6d8ef86SAishwarya PantDate:		March 2012
193b6d8ef86SAishwarya PantKernelVersion:	v3.10
194b6d8ef86SAishwarya PantContact:	Linux power management list <linux-pm@vger.kernel.org>
195b6d8ef86SAishwarya PantDescription:
196b6d8ef86SAishwarya Pant		(RW) Option to disable this idle state (bool). The behavior and
197b6d8ef86SAishwarya Pant		the effect of the disable variable depends on the implementation
198b6d8ef86SAishwarya Pant		of a particular governor. In the ladder governor, for example,
19926d6ba2fSMauro Carvalho Chehab		it is not coherent, i.e. if one is disabling a light state, then
20075a80267SRafael J. Wysocki		all deeper states are disabled as well, but the disable variable
20175a80267SRafael J. Wysocki		does not reflect it. Likewise, if one enables a deep state but a
20275a80267SRafael J. Wysocki		lighter state still is disabled, then this has no effect.
20375a80267SRafael J. Wysocki
20475a80267SRafael J. WysockiWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/default_status
205b6d8ef86SAishwarya PantDate:		December 2019
20626d6ba2fSMauro Carvalho ChehabKernelVersion:	v5.6
207b6d8ef86SAishwarya PantContact:	Linux power management list <linux-pm@vger.kernel.org>
208b6d8ef86SAishwarya PantDescription:
209b6d8ef86SAishwarya Pant		(RO) The default status of this state, "enabled" or "disabled".
210b6d8ef86SAishwarya Pant
211b6d8ef86SAishwarya PantWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/residency
212b6d8ef86SAishwarya PantDate:		March 2014
213b6d8ef86SAishwarya PantKernelVersion:	v3.15
214b6d8ef86SAishwarya PantContact:	Linux power management list <linux-pm@vger.kernel.org>
21526d6ba2fSMauro Carvalho ChehabDescription:
21664bdff69SRafael J. Wysocki		(RO) Display the target residency i.e. the minimum amount of
21764bdff69SRafael J. Wysocki		time (in microseconds) this cpu should spend in this idle state
21864bdff69SRafael J. Wysocki		to make the transition worth the effort.
21964bdff69SRafael J. Wysocki
22064bdff69SRafael J. WysockiWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/
22164bdff69SRafael J. WysockiDate:		March 2018
22264bdff69SRafael J. WysockiKernelVersion:	v4.17
22364bdff69SRafael J. WysockiContact:	Linux power management list <linux-pm@vger.kernel.org>
22464bdff69SRafael J. WysockiDescription:
22526d6ba2fSMauro Carvalho Chehab		Idle state usage statistics related to suspend-to-idle.
22664bdff69SRafael J. Wysocki
22764bdff69SRafael J. Wysocki		This attribute group is only present for states that can be
22864bdff69SRafael J. Wysocki		used in suspend-to-idle with suspended timekeeping.
22964bdff69SRafael J. Wysocki
23064bdff69SRafael J. WysockiWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/time
23164bdff69SRafael J. WysockiDate:		March 2018
23264bdff69SRafael J. WysockiKernelVersion:	v4.17
23326d6ba2fSMauro Carvalho ChehabContact:	Linux power management list <linux-pm@vger.kernel.org>
23464bdff69SRafael J. WysockiDescription:
23564bdff69SRafael J. Wysocki		Total time spent by the CPU in suspend-to-idle (with scheduler
23664bdff69SRafael J. Wysocki		tick suspended) after requesting this state.
23764bdff69SRafael J. Wysocki
23864bdff69SRafael J. WysockiWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/usage
23964bdff69SRafael J. WysockiDate:		March 2018
240b6d8ef86SAishwarya PantKernelVersion:	v4.17
241abcb948dSMauro Carvalho ChehabContact:	Linux power management list <linux-pm@vger.kernel.org>
2420cda8b91SAlex ChiangDescription:
243dec102aaSViresh Kumar		Total number of times this state has been requested by the CPU
2440cda8b91SAlex Chiang		while entering suspend-to-idle.
2450cda8b91SAlex Chiang
2460cda8b91SAlex ChiangWhat:		/sys/devices/system/cpu/cpuX/cpufreq/*
2470cda8b91SAlex ChiangDate:		pre-git history
2480cda8b91SAlex ChiangContact:	linux-pm@vger.kernel.org
2490cda8b91SAlex ChiangDescription:	Discover and change clock speed of CPUs
2500cda8b91SAlex Chiang
2510cda8b91SAlex Chiang		Clock scaling allows you to change the clock speed of the
2520cda8b91SAlex Chiang		CPUs on the fly. This is a nice method to save battery
2530cda8b91SAlex Chiang		power, because the lower the clock speed, the less power
2540cda8b91SAlex Chiang		the CPU consumes.
2550cda8b91SAlex Chiang
256abcb948dSMauro Carvalho Chehab		There are many knobs to tweak in this directory.
257f4fd3797SLan Tianyu
258dec102aaSViresh Kumar		See files in Documentation/cpu-freq/ for more information.
259f4fd3797SLan Tianyu
260f4fd3797SLan Tianyu
261f4fd3797SLan TianyuWhat:		/sys/devices/system/cpu/cpuX/cpufreq/freqdomain_cpus
262f4fd3797SLan TianyuDate:		June 2013
263f4fd3797SLan TianyuContact:	linux-pm@vger.kernel.org
264f4fd3797SLan TianyuDescription:	Discover CPUs in the same CPU frequency coordination domain
265f4fd3797SLan Tianyu
266f4fd3797SLan Tianyu		freqdomain_cpus is the list of CPUs (online+offline) that share
267f4fd3797SLan Tianyu		the same clock/freq domain (possibly at the hardware level).
268cfdc589fSIonela Voinescu		That information may be hidden from the cpufreq core and the
269cfdc589fSIonela Voinescu		value of related_cpus may be different from freqdomain_cpus. This
270f4fd3797SLan Tianyu		attribute is useful for user space DVFS controllers to get better
271f4fd3797SLan Tianyu		power/performance results for platforms using acpi-cpufreq.
272eecaaba5SBorislav Petkov
273468727abSAlex Chiang		This file is only present if the acpi-cpufreq or the cppc-cpufreq
274468727abSAlex Chiang		drivers are in use.
275ea8e080bSAravind Gopalakrishnan
276eecaaba5SBorislav PetkovWhat:		/sys/devices/system/cpu/cpuX/cpufreq/auto_select
277468727abSAlex ChiangDate:		May 2025
278eecaaba5SBorislav PetkovContact:	linux-pm@vger.kernel.org
279eecaaba5SBorislav PetkovDescription:	Autonomous selection enable
280eecaaba5SBorislav Petkov
281eecaaba5SBorislav Petkov		Read/write interface to control autonomous selection enable
282eecaaba5SBorislav Petkov			Read returns autonomous selection status:
283eecaaba5SBorislav Petkov				0: autonomous selection is disabled
2843e42d1deSCarlos Bilbao				1: autonomous selection is enabled
285eecaaba5SBorislav Petkov
286eecaaba5SBorislav Petkov			Write 'y' or '1' or 'on' to enable autonomous selection.
287eecaaba5SBorislav Petkov			Write 'n' or '0' or 'off' to disable autonomous selection.
288eecaaba5SBorislav Petkov
2892fa4928aSAnatoly Pugachev		This file is only present if the cppc-cpufreq driver is in use.
290615b7300SAndre Przywara
291615b7300SAndre PrzywaraWhat:		/sys/devices/system/cpu/cpuX/cpufreq/auto_act_window
292615b7300SAndre PrzywaraDate:		May 2025
293615b7300SAndre PrzywaraContact:	linux-pm@vger.kernel.org
294615b7300SAndre PrzywaraDescription:	Autonomous activity window
295615b7300SAndre Przywara
296615b7300SAndre Przywara		This file indicates a moving utilization sensitivity window to
297615b7300SAndre Przywara		the platform's autonomous selection policy.
298615b7300SAndre Przywara
2998a7f0e8aSRandy Dunlap		Read/write an integer represents autonomous activity window (in
30034433332SMauro Carvalho Chehab		microseconds) from/to this file. The max value to write is
3013ba9b1b8STom Saeger		1270000000 but the max significand is 127. This means that if 128
3023ba9b1b8STom Saeger		is written to this file, 127 will be stored. If the value is
303c4fd675fSZhang Yanfei		greater than 130, only the first two digits will be saved as
304c4fd675fSZhang Yanfei		significand.
305abcb948dSMauro Carvalho Chehab
306abcb948dSMauro Carvalho Chehab		Writing a zero value to this file enable the platform to
307c4fd675fSZhang Yanfei		determine an appropriate Activity Window depending on the workload.
308c4fd675fSZhang Yanfei
309c4fd675fSZhang Yanfei		Writing to this file only has meaning when Autonomous Selection is
310c4fd675fSZhang Yanfei		enabled.
311c4fd675fSZhang Yanfei
312abcb948dSMauro Carvalho Chehab		This file is only present if the cppc-cpufreq driver is in use.
313c4fd675fSZhang Yanfei
314abcb948dSMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/cpufreq/energy_performance_preference_val
315fbe299e0SRamkumar RamachandraDate:		May 2025
316fbe299e0SRamkumar RamachandraContact:	linux-pm@vger.kernel.org
317fbe299e0SRamkumar RamachandraDescription:	Energy performance preference
318fbe299e0SRamkumar Ramachandra
319fbe299e0SRamkumar Ramachandra		Read/write an 8-bit integer from/to this file. This file
320fbe299e0SRamkumar Ramachandra		represents a range of values from 0 (performance preference) to
321fbe299e0SRamkumar Ramachandra		0xFF (energy efficiency preference) that influences the rate of
322fbe299e0SRamkumar Ramachandra		performance increase/decrease and the result of the hardware's
323fbe299e0SRamkumar Ramachandra		energy efficiency and performance optimization policies.
324fbe299e0SRamkumar Ramachandra
325fbe299e0SRamkumar Ramachandra		Writing to this file only has meaning when Autonomous Selection is
326fbe299e0SRamkumar Ramachandra		enabled.
327fbe299e0SRamkumar Ramachandra
328fbe299e0SRamkumar Ramachandra		This file is only present if the cppc-cpufreq driver is in use.
329fbe299e0SRamkumar Ramachandra
330fbe299e0SRamkumar Ramachandra
331fbe299e0SRamkumar RamachandraWhat:		/sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
332fbe299e0SRamkumar RamachandraDate:		August 2008
333fbe299e0SRamkumar RamachandraKernelVersion:	2.6.27
334fbe299e0SRamkumar RamachandraContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
335fbe299e0SRamkumar RamachandraDescription:	Disable L3 cache indices
336fbe299e0SRamkumar Ramachandra
337fbe299e0SRamkumar Ramachandra		These files exist in every CPU's cache/index3 directory. Each
3383ba9b1b8STom Saeger		cache_disable_{0,1} file corresponds to one disable slot which
3393ba9b1b8STom Saeger		can be used to disable a cache index. Reading from these files
340246246cbSSudeep Holla		on a processor with this functionality will return the currently
341246246cbSSudeep Holla		disabled index for that node. There is one L3 structure per
342246246cbSSudeep Holla		node, or per internal node on MCM machines. Writing a valid
343246246cbSSudeep Holla		index to one of these files will cause the specified cache
344246246cbSSudeep Holla		index to be disabled.
345246246cbSSudeep Holla
346246246cbSSudeep Holla		All AMD processors with L3 caches provide this functionality.
347246246cbSSudeep Holla		For details, see BKDGs at
34834433332SMauro Carvalho Chehab                https://www.amd.com/en/support/tech-docs?keyword=bios+kernel
34934433332SMauro Carvalho Chehab
350246246cbSSudeep Holla
35134433332SMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpufreq/boost
35234433332SMauro Carvalho ChehabDate:		August 2012
353246246cbSSudeep HollaContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
35434433332SMauro Carvalho ChehabDescription:	Processor frequency boosting control
35534433332SMauro Carvalho Chehab
356246246cbSSudeep Holla		This switch controls the boost setting for the whole system.
35734433332SMauro Carvalho Chehab		Boosting allows the CPU and the firmware to run at a frequency
35834433332SMauro Carvalho Chehab		beyond its nominal limit.
359246246cbSSudeep Holla
360246246cbSSudeep Holla		More details can be found in
36134433332SMauro Carvalho Chehab		Documentation/admin-guide/pm/cpufreq.rst
36234433332SMauro Carvalho Chehab
363246246cbSSudeep Holla
36434433332SMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/crash_notes
36534433332SMauro Carvalho Chehab		/sys/devices/system/cpu/cpuX/crash_notes_size
366246246cbSSudeep HollaDate:		April 2013
367246246cbSSudeep HollaContact:	kexec@lists.infradead.org
36834433332SMauro Carvalho ChehabDescription:	address and size of the percpu note.
36934433332SMauro Carvalho Chehab
370246246cbSSudeep Holla		crash_notes: the physical address of the memory that holds the
37134433332SMauro Carvalho Chehab		note of cpuX.
37234433332SMauro Carvalho Chehab
373246246cbSSudeep Holla		crash_notes_size: size of the note of cpuX.
37434433332SMauro Carvalho Chehab
37534433332SMauro Carvalho Chehab
376246246cbSSudeep HollaWhat:		/sys/devices/system/cpu/intel_pstate/max_perf_pct
377246246cbSSudeep Holla		/sys/devices/system/cpu/intel_pstate/min_perf_pct
37834433332SMauro Carvalho Chehab		/sys/devices/system/cpu/intel_pstate/no_turbo
37934433332SMauro Carvalho ChehabDate:		February 2013
380246246cbSSudeep HollaContact:	linux-pm@vger.kernel.org
381246246cbSSudeep HollaDescription:	Parameters for the Intel P-state driver
382246246cbSSudeep Holla
383246246cbSSudeep Holla		Logic for selecting the current P-state in Intel
384246246cbSSudeep Holla		Sandybridge+ processors. The three knobs control
385246246cbSSudeep Holla		limits for the P-state that will be requested by the
38634433332SMauro Carvalho Chehab		driver.
38734433332SMauro Carvalho Chehab
388246246cbSSudeep Holla		max_perf_pct: limits the maximum P state that will be requested by
389246246cbSSudeep Holla		the driver stated as a percentage of the available performance.
390246246cbSSudeep Holla
39134433332SMauro Carvalho Chehab		min_perf_pct: limits the minimum P state that will be requested by
39234433332SMauro Carvalho Chehab		the driver stated as a percentage of the available performance.
393246246cbSSudeep Holla
39434433332SMauro Carvalho Chehab		no_turbo: limits the driver to selecting P states below the turbo
39534433332SMauro Carvalho Chehab		frequency range.
396246246cbSSudeep Holla
397246246cbSSudeep Holla		More details can be found in
3981b028984SShilpasri G Bhat		Documentation/admin-guide/pm/intel_pstate.rst
3991d78dc59STony Luck
4001d78dc59STony LuckWhat:		/sys/devices/system/cpu/cpu*/cache/index*/<set_of_attributes_mentioned_below>
4011d78dc59STony LuckDate:		July 2014(documented, existed before August 2008)
4021d78dc59STony LuckContact:	Sudeep Holla <sudeep.holla@arm.com>
4031d78dc59STony Luck		Linux kernel mailing list <linux-kernel@vger.kernel.org>
4041d78dc59STony LuckDescription:	Parameters for the CPU cache attributes
4051d78dc59STony Luck
4061d78dc59STony Luck		allocation_policy:
4071d78dc59STony Luck			- WriteAllocate:
4081d78dc59STony Luck					allocate a memory location to a cache line
4091d78dc59STony Luck					on a cache miss because of a write
4101d78dc59STony Luck			- ReadAllocate:
4111d78dc59STony Luck					allocate a memory location to a cache line
4121d78dc59STony Luck					on a cache miss because of a read
4131d78dc59STony Luck			- ReadWriteAllocate:
4141d78dc59STony Luck					both writeallocate and readallocate
4151b028984SShilpasri G Bhat
4161b028984SShilpasri G Bhat		coherency_line_size:
4171b028984SShilpasri G Bhat				     the minimum amount of data in bytes that gets
4181b028984SShilpasri G Bhat				     transferred from memory to cache
4191b028984SShilpasri G Bhat
4201b028984SShilpasri G Bhat		level:
4211b028984SShilpasri G Bhat			the cache hierarchy in the multi-level cache configuration
4221b028984SShilpasri G Bhat
4231b028984SShilpasri G Bhat		number_of_sets:
4241b028984SShilpasri G Bhat				total number of sets in the cache, a set is a
4251b028984SShilpasri G Bhat				collection of cache lines with the same cache index
426fae57306SStephen Rothwell
4271b028984SShilpasri G Bhat		physical_line_partition:
4281b028984SShilpasri G Bhat				number of physical cache line per cache tag
4291b028984SShilpasri G Bhat
4301b028984SShilpasri G Bhat		shared_cpu_list:
4311b028984SShilpasri G Bhat				the list of logical cpus sharing the cache
4321b028984SShilpasri G Bhat
4331b028984SShilpasri G Bhat		shared_cpu_map:
4341b028984SShilpasri G Bhat				logical cpu mask containing the list of cpus sharing
4351b028984SShilpasri G Bhat				the cache
4361b028984SShilpasri G Bhat
4371b028984SShilpasri G Bhat		size:
4381b028984SShilpasri G Bhat			the total cache size in kB
4391b028984SShilpasri G Bhat
4401b028984SShilpasri G Bhat		type:
4411b028984SShilpasri G Bhat			- Instruction: cache that only holds instructions
4421b028984SShilpasri G Bhat			- Data: cache that only caches data
4431b028984SShilpasri G Bhat			- Unified: cache that holds both data and instructions
4441b028984SShilpasri G Bhat
4451b028984SShilpasri G Bhat		ways_of_associativity:
4461b028984SShilpasri G Bhat			degree of freedom in placing a particular block
4471b028984SShilpasri G Bhat			of memory in the cache
4481b028984SShilpasri G Bhat
4491b028984SShilpasri G Bhat		write_policy:
4501b028984SShilpasri G Bhat			- WriteThrough:
4511b028984SShilpasri G Bhat					data is written to both the cache line
4521b028984SShilpasri G Bhat					and to the block in the lower-level memory
4531b028984SShilpasri G Bhat			- WriteBack:
4541b028984SShilpasri G Bhat				     data is written only to the cache line and
4551b028984SShilpasri G Bhat				     the modified cache line is written to main
4561b028984SShilpasri G Bhat				     memory only when it is replaced
4571b028984SShilpasri G Bhat
4581b028984SShilpasri G Bhat
4591b028984SShilpasri G BhatWhat:		/sys/devices/system/cpu/cpu*/cache/index*/id
4601b028984SShilpasri G BhatDate:		September 2016
4611b028984SShilpasri G BhatContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
4621b028984SShilpasri G BhatDescription:	Cache id
4631b028984SShilpasri G Bhat
4641b028984SShilpasri G Bhat		The id provides a unique number for a specific instance of
4651b028984SShilpasri G Bhat		a cache of a particular type. E.g. there may be a level
4661b028984SShilpasri G Bhat		3 unified cache on each socket in a server and we may
4671b028984SShilpasri G Bhat		assign them ids 0, 1, 2, ...
4681b028984SShilpasri G Bhat
4691b028984SShilpasri G Bhat		Note that id value can be non-contiguous. E.g. level 1
4701b028984SShilpasri G Bhat		caches typically exist per core, but there may not be a
4711b028984SShilpasri G Bhat		power of two cores on a socket, so these caches may be
4721b028984SShilpasri G Bhat		numbered 0, 1, 2, 3, 4, 5, 8, 9, 10, ...
4731b028984SShilpasri G Bhat
4741b028984SShilpasri G BhatWhat:		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats
4751b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/turbo_stat
476fae57306SStephen Rothwell		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/sub_turbo_stat
4771b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/unthrottle
4781b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/powercap
4791b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overtemp
4801b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/supply_fault
4811b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overcurrent
4821b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/occ_reset
483f8d9f924SSteve CapperDate:		March 2016
484f8d9f924SSteve CapperContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
485f8d9f924SSteve Capper		Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
486f8d9f924SSteve CapperDescription:	POWERNV CPUFreq driver's frequency throttle stats directory and
487f8d9f924SSteve Capper		attributes
488d69d5649SMark Brown
489f8d9f924SSteve Capper		'cpuX/cpufreq/throttle_stats' directory contains the CPU frequency
490f8d9f924SSteve Capper		throttle stat attributes for the chip. The throttle stats of a cpu
491f8d9f924SSteve Capper		is common across all the cpus belonging to a chip. Below are the
49234433332SMauro Carvalho Chehab		throttle attributes exported in the 'throttle_stats' directory:
493f8d9f924SSteve Capper
494d69d5649SMark Brown		- turbo_stat : This file gives the total number of times the max
495a2b60670SJuri Lelli		  frequency is throttled to lower frequency in turbo (at and above
4967af33504SWill Deacon		  nominal frequency) range of frequencies.
4977af33504SWill Deacon
4987af33504SWill Deacon		- sub_turbo_stat : This file gives the total number of times the
4997af33504SWill Deacon		  max frequency is throttled to lower frequency in sub-turbo(below
5007af33504SWill Deacon		  nominal frequency) range of frequencies.
5017af33504SWill Deacon
5027af33504SWill Deacon		- unthrottle : This file gives the total number of times the max
5037af33504SWill Deacon		  frequency is unthrottled after being throttled.
5047af33504SWill Deacon
505abcb948dSMauro Carvalho Chehab		- powercap : This file gives the total number of times the max
506a2b60670SJuri Lelli		  frequency is throttled due to 'Power Capping'.
507a2b60670SJuri Lelli
508a2b60670SJuri Lelli		- overtemp : This file gives the total number of times the max
509a2b60670SJuri Lelli		  frequency is throttled due to 'CPU Over Temperature'.
510abcb948dSMauro Carvalho Chehab
51187590ce6SThomas Gleixner		- supply_fault : This file gives the total number of times the
51287590ce6SThomas Gleixner		  max frequency is throttled due to 'Power Supply Failure'.
5138974eb58SDaniel Sneddon
514*f4818881SPawan Gupta		- overcurrent : This file gives the total number of times the
5158974eb58SDaniel Sneddon		  max frequency is throttled due to 'Overcurrent'.
516d90a7a0eSJiri Kosina
5178a4b06d3SThomas Gleixner		- occ_reset : This file gives the total number of times the max
5188974eb58SDaniel Sneddon		  frequency is throttled due to 'OCC Reset'.
5198d50cdf8SPawan Gupta
5208076fcdeSPawan Gupta		The sysfs attributes representing different throttle reasons like
52100da0cb3SSalvatore Bonaccorso		powercap, overtemp, supply_fault, overcurrent and occ_reset map to
5228974eb58SDaniel Sneddon		the reasons provided by OCC firmware for throttling the frequency.
5238974eb58SDaniel Sneddon
5248974eb58SDaniel SneddonWhat:		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats
5258974eb58SDaniel Sneddon		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/turbo_stat
5268974eb58SDaniel Sneddon		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/sub_turbo_stat
5279ecccfaaSDavid Woodhouse		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/unthrottle
52887590ce6SThomas Gleixner		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/powercap
52987590ce6SThomas Gleixner		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overtemp
53087590ce6SThomas Gleixner		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/supply_fault
53187590ce6SThomas Gleixner		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overcurrent
53287590ce6SThomas Gleixner		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/occ_reset
53387590ce6SThomas GleixnerDate:		March 2016
53487590ce6SThomas GleixnerContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
53534433332SMauro Carvalho Chehab		Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
53687590ce6SThomas GleixnerDescription:	POWERNV CPUFreq driver's frequency throttle stats directory and
53787590ce6SThomas Gleixner		attributes
5389ecccfaaSDavid Woodhouse
53934433332SMauro Carvalho Chehab		'policyX/throttle_stats' directory and all the attributes are same as
54005736e4aSThomas Gleixner		the /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats directory and
5415999bbe7SThomas Gleixner		attributes which give the frequency throttle information of the chip.
542d90a7a0eSJiri Kosina
54305736e4aSThomas GleixnerWhat:		/sys/devices/system/cpu/cpuX/regs/
54405736e4aSThomas Gleixner		/sys/devices/system/cpu/cpuX/regs/identification/
54505736e4aSThomas Gleixner		/sys/devices/system/cpu/cpuX/regs/identification/midr_el1
54605736e4aSThomas Gleixner		/sys/devices/system/cpu/cpuX/regs/identification/revidr_el1
54705736e4aSThomas Gleixner		/sys/devices/system/cpu/cpuX/regs/identification/aidr_el1
5483e42d1deSCarlos Bilbao		/sys/devices/system/cpu/cpuX/regs/identification/smidr_el1
54905736e4aSThomas GleixnerDate:		June 2016
55005736e4aSThomas GleixnerContact:	Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
55105736e4aSThomas GleixnerDescription:	AArch64 CPU registers
55205736e4aSThomas Gleixner
55305736e4aSThomas Gleixner		'identification' directory exposes the CPU ID registers for
55405736e4aSThomas Gleixner		identifying model and revision of the CPU and SMCU.
55534433332SMauro Carvalho Chehab
55605736e4aSThomas GleixnerWhat:		/sys/devices/system/cpu/aarch32_el0
55705736e4aSThomas GleixnerDate:		May 2021
5587f48405cSMichael EllermanContact:	Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
55905736e4aSThomas GleixnerDescription:	Identifies the subset of CPUs in the system that can execute
56005736e4aSThomas Gleixner		AArch32 (32-bit ARM) applications. If present, the same format as
561de7b77e5SJosh Poimboeuf		/sys/devices/system/cpu/{offline,online,possible,present} is used.
562de7b77e5SJosh Poimboeuf		If absent, then all or none of the CPUs can execute AArch32
56334433332SMauro Carvalho Chehab		applications and execve() will behave accordingly.
56405736e4aSThomas Gleixner
56505736e4aSThomas GleixnerWhat:		/sys/devices/system/cpu/cpuX/cpu_capacity
5666c17ea1fSNysal Jan K.ADate:		December 2016
5676c17ea1fSNysal Jan K.AContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
568b9c273baSRafael J. WysockiDescription:	information about CPUs heterogeneity.
569abcb948dSMauro Carvalho Chehab
570b9c273baSRafael J. Wysocki		cpu_capacity: capacity of cpuX.
571b9c273baSRafael J. Wysocki
572b9c273baSRafael J. WysockiWhat:		/sys/devices/system/cpu/vulnerabilities
573b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/gather_data_sampling
574b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/indirect_target_selection
575b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/itlb_multihit
576b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/l1tf
577b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/mds
578b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/meltdown
579b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/mmio_stale_data
580b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/old_microcode
581b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/reg_file_data_sampling
582b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/retbleed
583b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/spec_store_bypass
584b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/spectre_v1
585b9c273baSRafael J. Wysocki		/sys/devices/system/cpu/vulnerabilities/spectre_v2
586203dffacSFenghua Yu		/sys/devices/system/cpu/vulnerabilities/srbds
587203dffacSFenghua Yu		/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
588203dffacSFenghua YuDate:		January 2018
589203dffacSFenghua YuContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
590203dffacSFenghua YuDescription:	Information about CPU vulnerabilities
591203dffacSFenghua Yu
592203dffacSFenghua Yu		The files are named after the code names of CPU
593203dffacSFenghua Yu		vulnerabilities. The output of those files reflects the
594203dffacSFenghua Yu		state of the CPUs in the system. Possible output values:
595203dffacSFenghua Yu
596203dffacSFenghua Yu		================  ==============================================
597203dffacSFenghua Yu		"Not affected"	  CPU is not affected by the vulnerability
598203dffacSFenghua Yu		"Vulnerable"	  CPU is affected and no mitigation in effect
599203dffacSFenghua Yu		"Mitigation: $M"  CPU is affected and mitigation $M is in effect
600203dffacSFenghua Yu		================  ==============================================
601203dffacSFenghua Yu
602203dffacSFenghua Yu		See also: Documentation/admin-guide/hw-vuln/index.rst
603203dffacSFenghua Yu
604203dffacSFenghua YuWhat:		/sys/devices/system/cpu/smt
605203dffacSFenghua Yu		/sys/devices/system/cpu/smt/active
606203dffacSFenghua Yu		/sys/devices/system/cpu/smt/control
607203dffacSFenghua YuDate:		June 2018
608203dffacSFenghua YuContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
609734560acSRyan GrimmDescription:	Control Symmetric Multi Threading (SMT)
61061564d34STom Lendacky
61161564d34STom Lendacky		active:  Tells whether SMT is active (enabled and siblings online)
61261564d34STom Lendacky
61361564d34STom Lendacky		control: Read/write interface to control SMT. Possible
61461564d34STom Lendacky			 values:
61561564d34STom Lendacky
61661564d34STom Lendacky			 ================ =========================================
61761564d34STom Lendacky			 "on"		  SMT is enabled
61861564d34STom Lendacky			 "off"		  SMT is disabled
61961564d34STom Lendacky			 "<N>"		  SMT is enabled with N threads per core.
62061564d34STom Lendacky			 "forceoff"	  SMT is force disabled. Cannot be changed.
62161564d34STom Lendacky			 "notsupported"   SMT is not supported by the CPU
622734560acSRyan Grimm			 "notimplemented" SMT runtime toggling is not
623734560acSRyan Grimm					  implemented for the architecture
624734560acSRyan Grimm			 ================ =========================================
625fae57306SStephen Rothwell
626734560acSRyan Grimm			 If control status is "forceoff" or "notsupported" writes
627734560acSRyan Grimm			 are rejected. Note that enabling SMT on PowerPC skips
628734560acSRyan Grimm			 offline cores.
629734560acSRyan Grimm
630734560acSRyan GrimmWhat:		/sys/devices/system/cpu/cpuX/power/energy_perf_bias
631bde752c3SGautham R. ShenoyDate:		March 2019
632bde752c3SGautham R. ShenoyContact:	linux-pm@vger.kernel.org
633bde752c3SGautham R. ShenoyDescription:	Intel Energy and Performance Bias Hint (EPB)
634fae57306SStephen Rothwell
635bde752c3SGautham R. Shenoy		EPB for the given CPU in a sliding scale 0 - 15, where a value
636bde752c3SGautham R. Shenoy		of 0 corresponds to a hint preference for highest performance
637bde752c3SGautham R. Shenoy		and a value of 15 corresponds to the maximum energy savings.
638bde752c3SGautham R. Shenoy
639bde752c3SGautham R. Shenoy		In order to change the EPB value for the CPU, write either
640bde752c3SGautham R. Shenoy		a number in the 0 - 15 sliding scale above, or one of the
641bde752c3SGautham R. Shenoy		strings: "performance", "balance-performance", "normal",
642bde752c3SGautham R. Shenoy		"balance-power", "power" (that represent values reflected by
643bde752c3SGautham R. Shenoy		their meaning), to this attribute.
644bde752c3SGautham R. Shenoy
645fae57306SStephen Rothwell		This attribute is present for all online CPUs supporting the
646bde752c3SGautham R. Shenoy		Intel EPB feature.
647bde752c3SGautham R. Shenoy
648bde752c3SGautham R. ShenoyWhat:		/sys/devices/system/cpu/umwait_control
649bde752c3SGautham R. Shenoy		/sys/devices/system/cpu/umwait_control/enable_c02
650bde752c3SGautham R. Shenoy		/sys/devices/system/cpu/umwait_control/max_time
651bde752c3SGautham R. ShenoyDate:		May 2019
652bde752c3SGautham R. ShenoyContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
653bde752c3SGautham R. ShenoyDescription:	Umwait control
654bde752c3SGautham R. Shenoy
655bde752c3SGautham R. Shenoy		enable_c02: Read/write interface to control umwait C0.2 state
656bde752c3SGautham R. Shenoy			Read returns C0.2 state status:
657fae57306SStephen Rothwell				0: C0.2 is disabled
658bde752c3SGautham R. Shenoy				1: C0.2 is enabled
659bde752c3SGautham R. Shenoy
660bde752c3SGautham R. Shenoy			Write 'y' or '1'  or 'on' to enable C0.2 state.
661bde752c3SGautham R. Shenoy			Write 'n' or '0'  or 'off' to disable C0.2 state.
662bde752c3SGautham R. Shenoy
663bde752c3SGautham R. Shenoy			The interface is case insensitive.
664bde752c3SGautham R. Shenoy
665fae57306SStephen Rothwell		max_time: Read/write interface to control umwait maximum time
666bde752c3SGautham R. Shenoy			  in TSC-quanta that the CPU can reside in either C0.1
667bde752c3SGautham R. Shenoy			  or C0.2 state. The time is an unsigned 32-bit number.
668bde752c3SGautham R. Shenoy			  Note that a value of zero means there is no limit.
669bde752c3SGautham R. Shenoy			  Low order two bits must be zero.
67080c7c36fSPeter Collingbourne
67180c7c36fSPeter CollingbourneWhat:		/sys/devices/system/cpu/sev
67280c7c36fSPeter Collingbourne		/sys/devices/system/cpu/sev/vmpl
67380c7c36fSPeter CollingbourneDate:		May 2024
67480c7c36fSPeter CollingbourneContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
67580c7c36fSPeter CollingbourneDescription:	Secure Encrypted Virtualization (SEV) information
67680c7c36fSPeter Collingbourne
67780c7c36fSPeter Collingbourne		This directory is only present when running as an SEV-SNP guest.
67880c7c36fSPeter Collingbourne
67980c7c36fSPeter Collingbourne		vmpl: Reports the Virtual Machine Privilege Level (VMPL) at which
68080c7c36fSPeter Collingbourne		      the SEV-SNP guest is running.
68180c7c36fSPeter Collingbourne
68280c7c36fSPeter Collingbourne
6839986c765SEvgenii StepanovWhat:		/sys/devices/system/cpu/svm
68480c7c36fSPeter CollingbourneDate:		August 2019
68580c7c36fSPeter CollingbourneContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
68680c7c36fSPeter Collingbourne		Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
687e4624435SJonathan CorbetDescription:	Secure Virtual Machine
6883722e7c3SKohei Tarumizu
6893722e7c3SKohei Tarumizu		If 1, it means the system is using the Protected Execution
6903722e7c3SKohei Tarumizu		Facility in POWER9 and newer processors. i.e., it is a Secure
6913722e7c3SKohei Tarumizu		Virtual Machine.
6923722e7c3SKohei Tarumizu
6933722e7c3SKohei TarumizuWhat:		/sys/devices/system/cpu/cpuX/purr
6943722e7c3SKohei TarumizuDate:		Apr 2005
69502bf6074SKohei TarumizuContact:	Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
69602bf6074SKohei TarumizuDescription:	PURR ticks for this CPU since the system boot.
69702bf6074SKohei Tarumizu
69802bf6074SKohei Tarumizu		The Processor Utilization Resources Register (PURR) is
69902bf6074SKohei Tarumizu		a 64-bit counter which provides an estimate of the
70002bf6074SKohei Tarumizu		resources used by the CPU thread. The contents of this
70102bf6074SKohei Tarumizu		register increases monotonically. This sysfs interface
70202bf6074SKohei Tarumizu		exposes the number of PURR ticks for cpuX.
70388a6f899SEric DeVolder
70488a6f899SEric DeVolderWhat: 		/sys/devices/system/cpu/cpuX/spurr
70588a6f899SEric DeVolderDate:		Dec 2006
70688a6f899SEric DeVolderContact:	Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
70788a6f899SEric DeVolderDescription:	SPURR ticks for this CPU since the system boot.
708c91c6062SSourabh Jain
709c91c6062SSourabh Jain		The Scaled Processor Utilization Resources Register
710c91c6062SSourabh Jain		(SPURR) is a 64-bit counter that provides a frequency
7114e1a7df4SJames Morse		invariant estimate of the resources used by the CPU
7124e1a7df4SJames Morse		thread. The contents of this register increases
7134e1a7df4SJames Morse		monotonically. This sysfs interface exposes the number
7144e1a7df4SJames Morse		of SPURR ticks for cpuX.
7154e1a7df4SJames Morse
7164e1a7df4SJames MorseWhat: 		/sys/devices/system/cpu/cpuX/idle_purr
717Date:		Apr 2020
718Contact:	Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
719Description:	PURR ticks for cpuX when it was idle.
720
721		This sysfs interface exposes the number of PURR ticks
722		for cpuX when it was idle.
723
724What: 		/sys/devices/system/cpu/cpuX/idle_spurr
725Date:		Apr 2020
726Contact:	Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
727Description:	SPURR ticks for cpuX when it was idle.
728
729		This sysfs interface exposes the number of SPURR ticks
730		for cpuX when it was idle.
731
732What: 		/sys/devices/system/cpu/cpuX/mte_tcf_preferred
733Date:		July 2021
734Contact:	Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
735Description:	Preferred MTE tag checking mode
736
737		When a user program specifies more than one MTE tag checking
738		mode, this sysfs node is used to specify which mode should
739		be preferred when scheduling a task on that CPU. Possible
740		values:
741
742		================  ==============================================
743		"sync"	  	  Prefer synchronous mode
744		"asymm"	  	  Prefer asymmetric mode
745		"async"	  	  Prefer asynchronous mode
746		================  ==============================================
747
748		See also: Documentation/arch/arm64/memory-tagging-extension.rst
749
750What:		/sys/devices/system/cpu/nohz_full
751Date:		Apr 2015
752Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
753Description:
754		(RO) the list of CPUs that are in nohz_full mode.
755		These CPUs are set by boot parameter "nohz_full=".
756
757What:		/sys/devices/system/cpu/isolated
758Date:		Apr 2015
759Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
760Description:
761		(RO) the list of CPUs that are isolated and don't
762		participate in load balancing. These CPUs are set by
763		boot parameter "isolcpus=".
764
765What:		/sys/devices/system/cpu/crash_hotplug
766Date:		Aug 2023
767Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
768Description:
769		(RO) indicates whether or not the kernel updates relevant kexec
770		segments on memory hot un/plug and/or on/offline events, avoiding the
771		need to reload kdump kernel.
772
773What:		/sys/devices/system/cpu/enabled
774Date:		Nov 2022
775Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
776Description:
777		(RO) the list of CPUs that can be brought online.
778