xref: /linux/Documentation/ABI/testing/sysfs-devices-system-cpu (revision 6e9128ff9d8113ef208e5ec82573b96ead100072)
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
114e80e1342SArtem Bityutskiy		/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
123c1fb5c47SAlex Chiang		Idle policy (governor) is differentiated from idle mechanism
1247395683aSHanjun Guo		(driver).
125b6d8ef86SAishwarya Pant
126b6d8ef86SAishwarya Pant		available_governors: (RO) displays a space separated list of
1277395683aSHanjun Guo		available governors.
1287395683aSHanjun Guo
1297395683aSHanjun Guo		current_driver: (RO) displays current idle mechanism.
130b6d8ef86SAishwarya Pant
131b6d8ef86SAishwarya Pant		current_governor: (RW) displays current idle policy. Users can
132b6d8ef86SAishwarya Pant		switch the governor at runtime by writing to this file.
133c1fb5c47SAlex Chiang
1347395683aSHanjun Guo		current_governor_ro: (RO) displays current idle policy.
1357395683aSHanjun Guo
136e80e1342SArtem Bityutskiy		intel_c1_demotion: (RW) enables/disables the C1 demotion
137e80e1342SArtem Bityutskiy		feature on Intel CPUs.
138e80e1342SArtem Bityutskiy
139e80e1342SArtem Bityutskiy		See Documentation/admin-guide/pm/cpuidle.rst,
140e80e1342SArtem Bityutskiy		Documentation/admin-guide/pm/intel_idle.rst, and
141671c3095SMauro Carvalho Chehab		Documentation/driver-api/pm/cpuidle.rst for more information.
142c1fb5c47SAlex Chiang
143c1fb5c47SAlex Chiang
14426d6ba2fSMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/name
145b6d8ef86SAishwarya Pant		/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
14904dab58aSRafael J. Wysocki		/sys/devices/system/cpu/cpuX/cpuidle/stateN/above
15004dab58aSRafael J. Wysocki		/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:
155b6d8ef86SAishwarya Pant		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
16034433332SMauro Carvalho Chehab		======== ==== =================================================
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
164b6d8ef86SAishwarya Pant			      microseconds).
165b6d8ef86SAishwarya Pant
166b6d8ef86SAishwarya Pant		power:   (RO) The power consumed while in this idle state (in
167b6d8ef86SAishwarya Pant			      milliwatts).
168b6d8ef86SAishwarya Pant
16934433332SMauro Carvalho Chehab		time:    (RO) The total time spent in this idle state
17034433332SMauro Carvalho Chehab			      (in microseconds).
171b6d8ef86SAishwarya Pant
172b6d8ef86SAishwarya Pant		usage:	 (RO) Number of times this state was entered (a count).
173b6d8ef86SAishwarya Pant
17404dab58aSRafael J. Wysocki		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).
17704dab58aSRafael J. Wysocki
17804dab58aSRafael J. Wysocki		below:	 (RO) Number of times this state was entered, but the
17934433332SMauro Carvalho Chehab			      observed CPU idle duration was too long for it
18034433332SMauro Carvalho Chehab			      (a count).
18134433332SMauro Carvalho Chehab		======== ==== =================================================
182b6d8ef86SAishwarya Pant
18326d6ba2fSMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/desc
184b6d8ef86SAishwarya PantDate:		February 2008
185b6d8ef86SAishwarya PantKernelVersion:	v2.6.25
186b6d8ef86SAishwarya PantContact:	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
19126d6ba2fSMauro Carvalho ChehabWhat:		/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,
199b6d8ef86SAishwarya Pant		it is not coherent, i.e. if one is disabling a light state, then
200b6d8ef86SAishwarya Pant		all deeper states are disabled as well, but the disable variable
201b6d8ef86SAishwarya Pant		does not reflect it. Likewise, if one enables a deep state but a
202b6d8ef86SAishwarya Pant		lighter state still is disabled, then this has no effect.
203b6d8ef86SAishwarya Pant
20426d6ba2fSMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/default_status
20575a80267SRafael J. WysockiDate:		December 2019
20675a80267SRafael J. WysockiKernelVersion:	v5.6
20775a80267SRafael J. WysockiContact:	Linux power management list <linux-pm@vger.kernel.org>
20875a80267SRafael J. WysockiDescription:
20975a80267SRafael J. Wysocki		(RO) The default status of this state, "enabled" or "disabled".
210b6d8ef86SAishwarya Pant
21126d6ba2fSMauro Carvalho ChehabWhat:		/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>
215b6d8ef86SAishwarya PantDescription:
216b6d8ef86SAishwarya Pant		(RO) Display the target residency i.e. the minimum amount of
217b6d8ef86SAishwarya Pant		time (in microseconds) this cpu should spend in this idle state
218b6d8ef86SAishwarya Pant		to make the transition worth the effort.
219b6d8ef86SAishwarya Pant
22026d6ba2fSMauro Carvalho ChehabWhat:		/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:
22564bdff69SRafael J. Wysocki		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
23026d6ba2fSMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/time
23164bdff69SRafael J. WysockiDate:		March 2018
23264bdff69SRafael J. WysockiKernelVersion:	v4.17
23364bdff69SRafael J. WysockiContact:	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
23826d6ba2fSMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/usage
23964bdff69SRafael J. WysockiDate:		March 2018
24064bdff69SRafael J. WysockiKernelVersion:	v4.17
24164bdff69SRafael J. WysockiContact:	Linux power management list <linux-pm@vger.kernel.org>
24264bdff69SRafael J. WysockiDescription:
24364bdff69SRafael J. Wysocki		Total number of times this state has been requested by the CPU
24464bdff69SRafael J. Wysocki		while entering suspend-to-idle.
245b6d8ef86SAishwarya Pant
246abcb948dSMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/cpufreq/*
2470cda8b91SAlex ChiangDate:		pre-git history
248dec102aaSViresh KumarContact:	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
2560cda8b91SAlex Chiang		There are many knobs to tweak in this directory.
2570cda8b91SAlex Chiang
2580cda8b91SAlex Chiang		See files in Documentation/cpu-freq/ for more information.
2590cda8b91SAlex Chiang
2600cda8b91SAlex Chiang
261abcb948dSMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/cpufreq/freqdomain_cpus
262f4fd3797SLan TianyuDate:		June 2013
263dec102aaSViresh KumarContact:	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).
268f4fd3797SLan Tianyu		That information may be hidden from the cpufreq core and the
269f4fd3797SLan Tianyu		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.
272f4fd3797SLan Tianyu
273cfdc589fSIonela Voinescu		This file is only present if the acpi-cpufreq or the cppc-cpufreq
274cfdc589fSIonela Voinescu		drivers are in use.
275f4fd3797SLan Tianyu
276922607a2SLifeng ZhengWhat:		/sys/devices/system/cpu/cpuX/cpufreq/auto_select
277922607a2SLifeng ZhengDate:		May 2025
278922607a2SLifeng ZhengContact:	linux-pm@vger.kernel.org
279922607a2SLifeng ZhengDescription:	Autonomous selection enable
280922607a2SLifeng Zheng
281922607a2SLifeng Zheng		Read/write interface to control autonomous selection enable
282922607a2SLifeng Zheng			Read returns autonomous selection status:
283922607a2SLifeng Zheng				0: autonomous selection is disabled
284922607a2SLifeng Zheng				1: autonomous selection is enabled
285922607a2SLifeng Zheng
286922607a2SLifeng Zheng			Write 'y' or '1' or 'on' to enable autonomous selection.
287922607a2SLifeng Zheng			Write 'n' or '0' or 'off' to disable autonomous selection.
288922607a2SLifeng Zheng
289922607a2SLifeng Zheng		This file is only present if the cppc-cpufreq driver is in use.
290922607a2SLifeng Zheng
291922607a2SLifeng ZhengWhat:		/sys/devices/system/cpu/cpuX/cpufreq/auto_act_window
292922607a2SLifeng ZhengDate:		May 2025
293922607a2SLifeng ZhengContact:	linux-pm@vger.kernel.org
294922607a2SLifeng ZhengDescription:	Autonomous activity window
295922607a2SLifeng Zheng
296922607a2SLifeng Zheng		This file indicates a moving utilization sensitivity window to
297922607a2SLifeng Zheng		the platform's autonomous selection policy.
298922607a2SLifeng Zheng
299922607a2SLifeng Zheng		Read/write an integer represents autonomous activity window (in
300922607a2SLifeng Zheng		microseconds) from/to this file. The max value to write is
301922607a2SLifeng Zheng		1270000000 but the max significand is 127. This means that if 128
302922607a2SLifeng Zheng		is written to this file, 127 will be stored. If the value is
303922607a2SLifeng Zheng		greater than 130, only the first two digits will be saved as
304922607a2SLifeng Zheng		significand.
305922607a2SLifeng Zheng
306922607a2SLifeng Zheng		Writing a zero value to this file enable the platform to
307922607a2SLifeng Zheng		determine an appropriate Activity Window depending on the workload.
308922607a2SLifeng Zheng
309922607a2SLifeng Zheng		Writing to this file only has meaning when Autonomous Selection is
310922607a2SLifeng Zheng		enabled.
311922607a2SLifeng Zheng
312922607a2SLifeng Zheng		This file is only present if the cppc-cpufreq driver is in use.
313922607a2SLifeng Zheng
314922607a2SLifeng ZhengWhat:		/sys/devices/system/cpu/cpuX/cpufreq/energy_performance_preference_val
315922607a2SLifeng ZhengDate:		May 2025
316922607a2SLifeng ZhengContact:	linux-pm@vger.kernel.org
317922607a2SLifeng ZhengDescription:	Energy performance preference
318922607a2SLifeng Zheng
319922607a2SLifeng Zheng		Read/write an 8-bit integer from/to this file. This file
320922607a2SLifeng Zheng		represents a range of values from 0 (performance preference) to
321922607a2SLifeng Zheng		0xFF (energy efficiency preference) that influences the rate of
322922607a2SLifeng Zheng		performance increase/decrease and the result of the hardware's
323922607a2SLifeng Zheng		energy efficiency and performance optimization policies.
324922607a2SLifeng Zheng
325922607a2SLifeng Zheng		Writing to this file only has meaning when Autonomous Selection is
326922607a2SLifeng Zheng		enabled.
327922607a2SLifeng Zheng
328922607a2SLifeng Zheng		This file is only present if the cppc-cpufreq driver is in use.
329922607a2SLifeng Zheng
330f4fd3797SLan Tianyu
331eecaaba5SBorislav PetkovWhat:		/sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
332468727abSAlex ChiangDate:		August 2008
333468727abSAlex ChiangKernelVersion:	2.6.27
334ea8e080bSAravind GopalakrishnanContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
335eecaaba5SBorislav PetkovDescription:	Disable L3 cache indices
336468727abSAlex Chiang
337eecaaba5SBorislav Petkov		These files exist in every CPU's cache/index3 directory. Each
338eecaaba5SBorislav Petkov		cache_disable_{0,1} file corresponds to one disable slot which
339eecaaba5SBorislav Petkov		can be used to disable a cache index. Reading from these files
340eecaaba5SBorislav Petkov		on a processor with this functionality will return the currently
341eecaaba5SBorislav Petkov		disabled index for that node. There is one L3 structure per
342eecaaba5SBorislav Petkov		node, or per internal node on MCM machines. Writing a valid
3433e42d1deSCarlos Bilbao		index to one of these files will cause the specified cache
344eecaaba5SBorislav Petkov		index to be disabled.
345eecaaba5SBorislav Petkov
346eecaaba5SBorislav Petkov		All AMD processors with L3 caches provide this functionality.
347eecaaba5SBorislav Petkov		For details, see BKDGs at
3482fa4928aSAnatoly Pugachev                https://www.amd.com/en/support/tech-docs?keyword=bios+kernel
349615b7300SAndre Przywara
350615b7300SAndre Przywara
351615b7300SAndre PrzywaraWhat:		/sys/devices/system/cpu/cpufreq/boost
352615b7300SAndre PrzywaraDate:		August 2012
353615b7300SAndre PrzywaraContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
354615b7300SAndre PrzywaraDescription:	Processor frequency boosting control
355615b7300SAndre Przywara
356615b7300SAndre Przywara		This switch controls the boost setting for the whole system.
357615b7300SAndre Przywara		Boosting allows the CPU and the firmware to run at a frequency
3588a7f0e8aSRandy Dunlap		beyond its nominal limit.
35934433332SMauro Carvalho Chehab
3603ba9b1b8STom Saeger		More details can be found in
3613ba9b1b8STom Saeger		Documentation/admin-guide/pm/cpufreq.rst
362c4fd675fSZhang Yanfei
363c4fd675fSZhang Yanfei
364abcb948dSMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/crash_notes
365abcb948dSMauro Carvalho Chehab		/sys/devices/system/cpu/cpuX/crash_notes_size
366c4fd675fSZhang YanfeiDate:		April 2013
367c4fd675fSZhang YanfeiContact:	kexec@lists.infradead.org
368c4fd675fSZhang YanfeiDescription:	address and size of the percpu note.
369c4fd675fSZhang Yanfei
370c4fd675fSZhang Yanfei		crash_notes: the physical address of the memory that holds the
371abcb948dSMauro Carvalho Chehab		note of cpuX.
372c4fd675fSZhang Yanfei
373abcb948dSMauro Carvalho Chehab		crash_notes_size: size of the note of cpuX.
374fbe299e0SRamkumar Ramachandra
375fbe299e0SRamkumar Ramachandra
376fbe299e0SRamkumar RamachandraWhat:		/sys/devices/system/cpu/intel_pstate/max_perf_pct
377fbe299e0SRamkumar Ramachandra		/sys/devices/system/cpu/intel_pstate/min_perf_pct
378fbe299e0SRamkumar Ramachandra		/sys/devices/system/cpu/intel_pstate/no_turbo
379fbe299e0SRamkumar RamachandraDate:		February 2013
380fbe299e0SRamkumar RamachandraContact:	linux-pm@vger.kernel.org
381fbe299e0SRamkumar RamachandraDescription:	Parameters for the Intel P-state driver
382fbe299e0SRamkumar Ramachandra
383fbe299e0SRamkumar Ramachandra		Logic for selecting the current P-state in Intel
384fbe299e0SRamkumar Ramachandra		Sandybridge+ processors. The three knobs control
385fbe299e0SRamkumar Ramachandra		limits for the P-state that will be requested by the
386fbe299e0SRamkumar Ramachandra		driver.
387fbe299e0SRamkumar Ramachandra
388fbe299e0SRamkumar Ramachandra		max_perf_pct: limits the maximum P state that will be requested by
389fbe299e0SRamkumar Ramachandra		the driver stated as a percentage of the available performance.
390fbe299e0SRamkumar Ramachandra
391fbe299e0SRamkumar Ramachandra		min_perf_pct: limits the minimum P state that will be requested by
392fbe299e0SRamkumar Ramachandra		the driver stated as a percentage of the available performance.
393fbe299e0SRamkumar Ramachandra
394fbe299e0SRamkumar Ramachandra		no_turbo: limits the driver to selecting P states below the turbo
395fbe299e0SRamkumar Ramachandra		frequency range.
396fbe299e0SRamkumar Ramachandra
3973ba9b1b8STom Saeger		More details can be found in
3983ba9b1b8STom Saeger		Documentation/admin-guide/pm/intel_pstate.rst
399246246cbSSudeep Holla
400246246cbSSudeep HollaWhat:		/sys/devices/system/cpu/cpu*/cache/index*/<set_of_attributes_mentioned_below>
401246246cbSSudeep HollaDate:		July 2014(documented, existed before August 2008)
402246246cbSSudeep HollaContact:	Sudeep Holla <sudeep.holla@arm.com>
403246246cbSSudeep Holla		Linux kernel mailing list <linux-kernel@vger.kernel.org>
404246246cbSSudeep HollaDescription:	Parameters for the CPU cache attributes
405246246cbSSudeep Holla
406246246cbSSudeep Holla		allocation_policy:
40734433332SMauro Carvalho Chehab			- WriteAllocate:
40834433332SMauro Carvalho Chehab					allocate a memory location to a cache line
409246246cbSSudeep Holla					on a cache miss because of a write
41034433332SMauro Carvalho Chehab			- ReadAllocate:
41134433332SMauro Carvalho Chehab					allocate a memory location to a cache line
412246246cbSSudeep Holla					on a cache miss because of a read
41334433332SMauro Carvalho Chehab			- ReadWriteAllocate:
41434433332SMauro Carvalho Chehab					both writeallocate and readallocate
415246246cbSSudeep Holla
41634433332SMauro Carvalho Chehab		coherency_line_size:
41734433332SMauro Carvalho Chehab				     the minimum amount of data in bytes that gets
418246246cbSSudeep Holla				     transferred from memory to cache
419246246cbSSudeep Holla
42034433332SMauro Carvalho Chehab		level:
42134433332SMauro Carvalho Chehab			the cache hierarchy in the multi-level cache configuration
422246246cbSSudeep Holla
42334433332SMauro Carvalho Chehab		number_of_sets:
42434433332SMauro Carvalho Chehab				total number of sets in the cache, a set is a
425246246cbSSudeep Holla				collection of cache lines with the same cache index
426246246cbSSudeep Holla
42734433332SMauro Carvalho Chehab		physical_line_partition:
42834433332SMauro Carvalho Chehab				number of physical cache line per cache tag
429246246cbSSudeep Holla
43034433332SMauro Carvalho Chehab		shared_cpu_list:
43134433332SMauro Carvalho Chehab				the list of logical cpus sharing the cache
432246246cbSSudeep Holla
43334433332SMauro Carvalho Chehab		shared_cpu_map:
43434433332SMauro Carvalho Chehab				logical cpu mask containing the list of cpus sharing
435246246cbSSudeep Holla				the cache
436246246cbSSudeep Holla
43734433332SMauro Carvalho Chehab		size:
43834433332SMauro Carvalho Chehab			the total cache size in kB
439246246cbSSudeep Holla
440246246cbSSudeep Holla		type:
441246246cbSSudeep Holla			- Instruction: cache that only holds instructions
442246246cbSSudeep Holla			- Data: cache that only caches data
443246246cbSSudeep Holla			- Unified: cache that holds both data and instructions
444246246cbSSudeep Holla
44534433332SMauro Carvalho Chehab		ways_of_associativity:
44634433332SMauro Carvalho Chehab			degree of freedom in placing a particular block
447246246cbSSudeep Holla			of memory in the cache
448246246cbSSudeep Holla
449246246cbSSudeep Holla		write_policy:
45034433332SMauro Carvalho Chehab			- WriteThrough:
45134433332SMauro Carvalho Chehab					data is written to both the cache line
452246246cbSSudeep Holla					and to the block in the lower-level memory
45334433332SMauro Carvalho Chehab			- WriteBack:
45434433332SMauro Carvalho Chehab				     data is written only to the cache line and
455246246cbSSudeep Holla				     the modified cache line is written to main
456246246cbSSudeep Holla				     memory only when it is replaced
4571b028984SShilpasri G Bhat
4581d78dc59STony Luck
4591d78dc59STony LuckWhat:		/sys/devices/system/cpu/cpu*/cache/index*/id
4601d78dc59STony LuckDate:		September 2016
4611d78dc59STony LuckContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
4621d78dc59STony LuckDescription:	Cache id
4631d78dc59STony Luck
4641d78dc59STony Luck		The id provides a unique number for a specific instance of
4651d78dc59STony Luck		a cache of a particular type. E.g. there may be a level
4661d78dc59STony Luck		3 unified cache on each socket in a server and we may
4671d78dc59STony Luck		assign them ids 0, 1, 2, ...
4681d78dc59STony Luck
4691d78dc59STony Luck		Note that id value can be non-contiguous. E.g. level 1
4701d78dc59STony Luck		caches typically exist per core, but there may not be a
4711d78dc59STony Luck		power of two cores on a socket, so these caches may be
4721d78dc59STony Luck		numbered 0, 1, 2, 3, 4, 5, 8, 9, 10, ...
4731d78dc59STony Luck
4741b028984SShilpasri G BhatWhat:		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats
4751b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/turbo_stat
4761b028984SShilpasri G Bhat		/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
4831b028984SShilpasri G BhatDate:		March 2016
4841b028984SShilpasri G BhatContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
485fae57306SStephen Rothwell		Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
4861b028984SShilpasri G BhatDescription:	POWERNV CPUFreq driver's frequency throttle stats directory and
4871b028984SShilpasri G Bhat		attributes
4881b028984SShilpasri G Bhat
4891b028984SShilpasri G Bhat		'cpuX/cpufreq/throttle_stats' directory contains the CPU frequency
4901b028984SShilpasri G Bhat		throttle stat attributes for the chip. The throttle stats of a cpu
4911b028984SShilpasri G Bhat		is common across all the cpus belonging to a chip. Below are the
4921b028984SShilpasri G Bhat		throttle attributes exported in the 'throttle_stats' directory:
4931b028984SShilpasri G Bhat
4941b028984SShilpasri G Bhat		- turbo_stat : This file gives the total number of times the max
4951b028984SShilpasri G Bhat		  frequency is throttled to lower frequency in turbo (at and above
4961b028984SShilpasri G Bhat		  nominal frequency) range of frequencies.
4971b028984SShilpasri G Bhat
4981b028984SShilpasri G Bhat		- sub_turbo_stat : This file gives the total number of times the
4991b028984SShilpasri G Bhat		  max frequency is throttled to lower frequency in sub-turbo(below
5001b028984SShilpasri G Bhat		  nominal frequency) range of frequencies.
5011b028984SShilpasri G Bhat
5021b028984SShilpasri G Bhat		- unthrottle : This file gives the total number of times the max
5031b028984SShilpasri G Bhat		  frequency is unthrottled after being throttled.
5041b028984SShilpasri G Bhat
5051b028984SShilpasri G Bhat		- powercap : This file gives the total number of times the max
5061b028984SShilpasri G Bhat		  frequency is throttled due to 'Power Capping'.
5071b028984SShilpasri G Bhat
5081b028984SShilpasri G Bhat		- overtemp : This file gives the total number of times the max
5091b028984SShilpasri G Bhat		  frequency is throttled due to 'CPU Over Temperature'.
5101b028984SShilpasri G Bhat
5111b028984SShilpasri G Bhat		- supply_fault : This file gives the total number of times the
5121b028984SShilpasri G Bhat		  max frequency is throttled due to 'Power Supply Failure'.
5131b028984SShilpasri G Bhat
5141b028984SShilpasri G Bhat		- overcurrent : This file gives the total number of times the
5151b028984SShilpasri G Bhat		  max frequency is throttled due to 'Overcurrent'.
5161b028984SShilpasri G Bhat
5171b028984SShilpasri G Bhat		- occ_reset : This file gives the total number of times the max
5181b028984SShilpasri G Bhat		  frequency is throttled due to 'OCC Reset'.
5191b028984SShilpasri G Bhat
5201b028984SShilpasri G Bhat		The sysfs attributes representing different throttle reasons like
5211b028984SShilpasri G Bhat		powercap, overtemp, supply_fault, overcurrent and occ_reset map to
5221b028984SShilpasri G Bhat		the reasons provided by OCC firmware for throttling the frequency.
5231b028984SShilpasri G Bhat
5241b028984SShilpasri G BhatWhat:		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats
5251b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/turbo_stat
5261b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/sub_turbo_stat
5271b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/unthrottle
5281b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/powercap
5291b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overtemp
5301b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/supply_fault
5311b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overcurrent
5321b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/occ_reset
5331b028984SShilpasri G BhatDate:		March 2016
5341b028984SShilpasri G BhatContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
535fae57306SStephen Rothwell		Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
5361b028984SShilpasri G BhatDescription:	POWERNV CPUFreq driver's frequency throttle stats directory and
5371b028984SShilpasri G Bhat		attributes
5381b028984SShilpasri G Bhat
5391b028984SShilpasri G Bhat		'policyX/throttle_stats' directory and all the attributes are same as
5401b028984SShilpasri G Bhat		the /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats directory and
5411b028984SShilpasri G Bhat		attributes which give the frequency throttle information of the chip.
542f8d9f924SSteve Capper
543f8d9f924SSteve CapperWhat:		/sys/devices/system/cpu/cpuX/regs/
544f8d9f924SSteve Capper		/sys/devices/system/cpu/cpuX/regs/identification/
545f8d9f924SSteve Capper		/sys/devices/system/cpu/cpuX/regs/identification/midr_el1
546f8d9f924SSteve Capper		/sys/devices/system/cpu/cpuX/regs/identification/revidr_el1
54717efc1acSOliver Upton		/sys/devices/system/cpu/cpuX/regs/identification/aidr_el1
548d69d5649SMark Brown		/sys/devices/system/cpu/cpuX/regs/identification/smidr_el1
549f8d9f924SSteve CapperDate:		June 2016
550f8d9f924SSteve CapperContact:	Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
551f8d9f924SSteve CapperDescription:	AArch64 CPU registers
55234433332SMauro Carvalho Chehab
553f8d9f924SSteve Capper		'identification' directory exposes the CPU ID registers for
554d69d5649SMark Brown		identifying model and revision of the CPU and SMCU.
555a2b60670SJuri Lelli
5567af33504SWill DeaconWhat:		/sys/devices/system/cpu/aarch32_el0
5577af33504SWill DeaconDate:		May 2021
5587af33504SWill DeaconContact:	Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
5597af33504SWill DeaconDescription:	Identifies the subset of CPUs in the system that can execute
5607af33504SWill Deacon		AArch32 (32-bit ARM) applications. If present, the same format as
5617af33504SWill Deacon		/sys/devices/system/cpu/{offline,online,possible,present} is used.
5627af33504SWill Deacon		If absent, then all or none of the CPUs can execute AArch32
5637af33504SWill Deacon		applications and execve() will behave accordingly.
5647af33504SWill Deacon
565abcb948dSMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/cpu_capacity
566a2b60670SJuri LelliDate:		December 2016
567a2b60670SJuri LelliContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
568a2b60670SJuri LelliDescription:	information about CPUs heterogeneity.
569a2b60670SJuri Lelli
570abcb948dSMauro Carvalho Chehab		cpu_capacity: capacity of cpuX.
57187590ce6SThomas Gleixner
57287590ce6SThomas GleixnerWhat:		/sys/devices/system/cpu/vulnerabilities
5738974eb58SDaniel Sneddon		/sys/devices/system/cpu/vulnerabilities/gather_data_sampling
574f4818881SPawan Gupta		/sys/devices/system/cpu/vulnerabilities/indirect_target_selection
5758974eb58SDaniel Sneddon		/sys/devices/system/cpu/vulnerabilities/itlb_multihit
576d90a7a0eSJiri Kosina		/sys/devices/system/cpu/vulnerabilities/l1tf
5778a4b06d3SThomas Gleixner		/sys/devices/system/cpu/vulnerabilities/mds
5788974eb58SDaniel Sneddon		/sys/devices/system/cpu/vulnerabilities/meltdown
5798d50cdf8SPawan Gupta		/sys/devices/system/cpu/vulnerabilities/mmio_stale_data
5804e2c7197SDave Hansen		/sys/devices/system/cpu/vulnerabilities/old_microcode
5818076fcdeSPawan Gupta		/sys/devices/system/cpu/vulnerabilities/reg_file_data_sampling
58200da0cb3SSalvatore Bonaccorso		/sys/devices/system/cpu/vulnerabilities/retbleed
5838974eb58SDaniel Sneddon		/sys/devices/system/cpu/vulnerabilities/spec_store_bypass
5848974eb58SDaniel Sneddon		/sys/devices/system/cpu/vulnerabilities/spectre_v1
5858974eb58SDaniel Sneddon		/sys/devices/system/cpu/vulnerabilities/spectre_v2
5868974eb58SDaniel Sneddon		/sys/devices/system/cpu/vulnerabilities/srbds
587*d8010d4bSBorislav Petkov (AMD)		/sys/devices/system/cpu/vulnerabilities/tsa
5888974eb58SDaniel Sneddon		/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
5899ecccfaaSDavid WoodhouseDate:		January 2018
59087590ce6SThomas GleixnerContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
59187590ce6SThomas GleixnerDescription:	Information about CPU vulnerabilities
59287590ce6SThomas Gleixner
59387590ce6SThomas Gleixner		The files are named after the code names of CPU
59487590ce6SThomas Gleixner		vulnerabilities. The output of those files reflects the
59587590ce6SThomas Gleixner		state of the CPUs in the system. Possible output values:
59687590ce6SThomas Gleixner
59734433332SMauro Carvalho Chehab		================  ==============================================
59887590ce6SThomas Gleixner		"Not affected"	  CPU is not affected by the vulnerability
59987590ce6SThomas Gleixner		"Vulnerable"	  CPU is affected and no mitigation in effect
6009ecccfaaSDavid Woodhouse		"Mitigation: $M"  CPU is affected and mitigation $M is in effect
60134433332SMauro Carvalho Chehab		================  ==============================================
60205736e4aSThomas Gleixner
6035999bbe7SThomas Gleixner		See also: Documentation/admin-guide/hw-vuln/index.rst
604d90a7a0eSJiri Kosina
60505736e4aSThomas GleixnerWhat:		/sys/devices/system/cpu/smt
60605736e4aSThomas Gleixner		/sys/devices/system/cpu/smt/active
60705736e4aSThomas Gleixner		/sys/devices/system/cpu/smt/control
60805736e4aSThomas GleixnerDate:		June 2018
60905736e4aSThomas GleixnerContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
6103e42d1deSCarlos BilbaoDescription:	Control Symmetric Multi Threading (SMT)
61105736e4aSThomas Gleixner
61205736e4aSThomas Gleixner		active:  Tells whether SMT is active (enabled and siblings online)
61305736e4aSThomas Gleixner
61405736e4aSThomas Gleixner		control: Read/write interface to control SMT. Possible
61505736e4aSThomas Gleixner			 values:
61605736e4aSThomas Gleixner
61734433332SMauro Carvalho Chehab			 ================ =========================================
61805736e4aSThomas Gleixner			 "on"		  SMT is enabled
61905736e4aSThomas Gleixner			 "off"		  SMT is disabled
6207f48405cSMichael Ellerman			 "<N>"		  SMT is enabled with N threads per core.
62105736e4aSThomas Gleixner			 "forceoff"	  SMT is force disabled. Cannot be changed.
62205736e4aSThomas Gleixner			 "notsupported"   SMT is not supported by the CPU
623de7b77e5SJosh Poimboeuf			 "notimplemented" SMT runtime toggling is not
624de7b77e5SJosh Poimboeuf					  implemented for the architecture
62534433332SMauro Carvalho Chehab			 ================ =========================================
62605736e4aSThomas Gleixner
62705736e4aSThomas Gleixner			 If control status is "forceoff" or "notsupported" writes
6286c17ea1fSNysal Jan K.A			 are rejected. Note that enabling SMT on PowerPC skips
6296c17ea1fSNysal Jan K.A			 offline cores.
630b9c273baSRafael J. Wysocki
631abcb948dSMauro Carvalho ChehabWhat:		/sys/devices/system/cpu/cpuX/power/energy_perf_bias
632b9c273baSRafael J. WysockiDate:		March 2019
633b9c273baSRafael J. WysockiContact:	linux-pm@vger.kernel.org
634b9c273baSRafael J. WysockiDescription:	Intel Energy and Performance Bias Hint (EPB)
635b9c273baSRafael J. Wysocki
636b9c273baSRafael J. Wysocki		EPB for the given CPU in a sliding scale 0 - 15, where a value
637b9c273baSRafael J. Wysocki		of 0 corresponds to a hint preference for highest performance
638b9c273baSRafael J. Wysocki		and a value of 15 corresponds to the maximum energy savings.
639b9c273baSRafael J. Wysocki
640b9c273baSRafael J. Wysocki		In order to change the EPB value for the CPU, write either
641b9c273baSRafael J. Wysocki		a number in the 0 - 15 sliding scale above, or one of the
642b9c273baSRafael J. Wysocki		strings: "performance", "balance-performance", "normal",
643b9c273baSRafael J. Wysocki		"balance-power", "power" (that represent values reflected by
644b9c273baSRafael J. Wysocki		their meaning), to this attribute.
645b9c273baSRafael J. Wysocki
646b9c273baSRafael J. Wysocki		This attribute is present for all online CPUs supporting the
647b9c273baSRafael J. Wysocki		Intel EPB feature.
648203dffacSFenghua Yu
649203dffacSFenghua YuWhat:		/sys/devices/system/cpu/umwait_control
650203dffacSFenghua Yu		/sys/devices/system/cpu/umwait_control/enable_c02
651203dffacSFenghua Yu		/sys/devices/system/cpu/umwait_control/max_time
652203dffacSFenghua YuDate:		May 2019
653203dffacSFenghua YuContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
654203dffacSFenghua YuDescription:	Umwait control
655203dffacSFenghua Yu
656203dffacSFenghua Yu		enable_c02: Read/write interface to control umwait C0.2 state
657203dffacSFenghua Yu			Read returns C0.2 state status:
658203dffacSFenghua Yu				0: C0.2 is disabled
659203dffacSFenghua Yu				1: C0.2 is enabled
660203dffacSFenghua Yu
661203dffacSFenghua Yu			Write 'y' or '1'  or 'on' to enable C0.2 state.
662203dffacSFenghua Yu			Write 'n' or '0'  or 'off' to disable C0.2 state.
663203dffacSFenghua Yu
664203dffacSFenghua Yu			The interface is case insensitive.
665203dffacSFenghua Yu
666203dffacSFenghua Yu		max_time: Read/write interface to control umwait maximum time
667203dffacSFenghua Yu			  in TSC-quanta that the CPU can reside in either C0.1
668203dffacSFenghua Yu			  or C0.2 state. The time is an unsigned 32-bit number.
669203dffacSFenghua Yu			  Note that a value of zero means there is no limit.
670203dffacSFenghua Yu			  Low order two bits must be zero.
671734560acSRyan Grimm
67261564d34STom LendackyWhat:		/sys/devices/system/cpu/sev
67361564d34STom Lendacky		/sys/devices/system/cpu/sev/vmpl
67461564d34STom LendackyDate:		May 2024
67561564d34STom LendackyContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
67661564d34STom LendackyDescription:	Secure Encrypted Virtualization (SEV) information
67761564d34STom Lendacky
67861564d34STom Lendacky		This directory is only present when running as an SEV-SNP guest.
67961564d34STom Lendacky
68061564d34STom Lendacky		vmpl: Reports the Virtual Machine Privilege Level (VMPL) at which
68161564d34STom Lendacky		      the SEV-SNP guest is running.
68261564d34STom Lendacky
68361564d34STom Lendacky
684734560acSRyan GrimmWhat:		/sys/devices/system/cpu/svm
685734560acSRyan GrimmDate:		August 2019
686734560acSRyan GrimmContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
687fae57306SStephen Rothwell		Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
688734560acSRyan GrimmDescription:	Secure Virtual Machine
689734560acSRyan Grimm
690734560acSRyan Grimm		If 1, it means the system is using the Protected Execution
691734560acSRyan Grimm		Facility in POWER9 and newer processors. i.e., it is a Secure
692734560acSRyan Grimm		Virtual Machine.
693bde752c3SGautham R. Shenoy
694bde752c3SGautham R. ShenoyWhat:		/sys/devices/system/cpu/cpuX/purr
695bde752c3SGautham R. ShenoyDate:		Apr 2005
696fae57306SStephen RothwellContact:	Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
697bde752c3SGautham R. ShenoyDescription:	PURR ticks for this CPU since the system boot.
698bde752c3SGautham R. Shenoy
699bde752c3SGautham R. Shenoy		The Processor Utilization Resources Register (PURR) is
700bde752c3SGautham R. Shenoy		a 64-bit counter which provides an estimate of the
701bde752c3SGautham R. Shenoy		resources used by the CPU thread. The contents of this
702bde752c3SGautham R. Shenoy		register increases monotonically. This sysfs interface
703bde752c3SGautham R. Shenoy		exposes the number of PURR ticks for cpuX.
704bde752c3SGautham R. Shenoy
705bde752c3SGautham R. ShenoyWhat: 		/sys/devices/system/cpu/cpuX/spurr
706bde752c3SGautham R. ShenoyDate:		Dec 2006
707fae57306SStephen RothwellContact:	Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
708bde752c3SGautham R. ShenoyDescription:	SPURR ticks for this CPU since the system boot.
709bde752c3SGautham R. Shenoy
710bde752c3SGautham R. Shenoy		The Scaled Processor Utilization Resources Register
711bde752c3SGautham R. Shenoy		(SPURR) is a 64-bit counter that provides a frequency
712bde752c3SGautham R. Shenoy		invariant estimate of the resources used by the CPU
713bde752c3SGautham R. Shenoy		thread. The contents of this register increases
714bde752c3SGautham R. Shenoy		monotonically. This sysfs interface exposes the number
715bde752c3SGautham R. Shenoy		of SPURR ticks for cpuX.
716bde752c3SGautham R. Shenoy
717bde752c3SGautham R. ShenoyWhat: 		/sys/devices/system/cpu/cpuX/idle_purr
718bde752c3SGautham R. ShenoyDate:		Apr 2020
719fae57306SStephen RothwellContact:	Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
720bde752c3SGautham R. ShenoyDescription:	PURR ticks for cpuX when it was idle.
721bde752c3SGautham R. Shenoy
722bde752c3SGautham R. Shenoy		This sysfs interface exposes the number of PURR ticks
723bde752c3SGautham R. Shenoy		for cpuX when it was idle.
724bde752c3SGautham R. Shenoy
725bde752c3SGautham R. ShenoyWhat: 		/sys/devices/system/cpu/cpuX/idle_spurr
726bde752c3SGautham R. ShenoyDate:		Apr 2020
727fae57306SStephen RothwellContact:	Linux for PowerPC mailing list <linuxppc-dev@lists.ozlabs.org>
728bde752c3SGautham R. ShenoyDescription:	SPURR ticks for cpuX when it was idle.
729bde752c3SGautham R. Shenoy
730bde752c3SGautham R. Shenoy		This sysfs interface exposes the number of SPURR ticks
731bde752c3SGautham R. Shenoy		for cpuX when it was idle.
73280c7c36fSPeter Collingbourne
73380c7c36fSPeter CollingbourneWhat: 		/sys/devices/system/cpu/cpuX/mte_tcf_preferred
73480c7c36fSPeter CollingbourneDate:		July 2021
73580c7c36fSPeter CollingbourneContact:	Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
73680c7c36fSPeter CollingbourneDescription:	Preferred MTE tag checking mode
73780c7c36fSPeter Collingbourne
73880c7c36fSPeter Collingbourne		When a user program specifies more than one MTE tag checking
73980c7c36fSPeter Collingbourne		mode, this sysfs node is used to specify which mode should
74080c7c36fSPeter Collingbourne		be preferred when scheduling a task on that CPU. Possible
74180c7c36fSPeter Collingbourne		values:
74280c7c36fSPeter Collingbourne
74380c7c36fSPeter Collingbourne		================  ==============================================
74480c7c36fSPeter Collingbourne		"sync"	  	  Prefer synchronous mode
7459986c765SEvgenii Stepanov		"asymm"	  	  Prefer asymmetric mode
74680c7c36fSPeter Collingbourne		"async"	  	  Prefer asynchronous mode
74780c7c36fSPeter Collingbourne		================  ==============================================
74880c7c36fSPeter Collingbourne
749e4624435SJonathan Corbet		See also: Documentation/arch/arm64/memory-tagging-extension.rst
7503722e7c3SKohei Tarumizu
7513722e7c3SKohei TarumizuWhat:		/sys/devices/system/cpu/nohz_full
7523722e7c3SKohei TarumizuDate:		Apr 2015
7533722e7c3SKohei TarumizuContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
7543722e7c3SKohei TarumizuDescription:
7553722e7c3SKohei Tarumizu		(RO) the list of CPUs that are in nohz_full mode.
7563722e7c3SKohei Tarumizu		These CPUs are set by boot parameter "nohz_full=".
75702bf6074SKohei Tarumizu
75802bf6074SKohei TarumizuWhat:		/sys/devices/system/cpu/isolated
75902bf6074SKohei TarumizuDate:		Apr 2015
76002bf6074SKohei TarumizuContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
76102bf6074SKohei TarumizuDescription:
76202bf6074SKohei Tarumizu		(RO) the list of CPUs that are isolated and don't
76302bf6074SKohei Tarumizu		participate in load balancing. These CPUs are set by
76402bf6074SKohei Tarumizu		boot parameter "isolcpus=".
76588a6f899SEric DeVolder
76688a6f899SEric DeVolderWhat:		/sys/devices/system/cpu/crash_hotplug
76788a6f899SEric DeVolderDate:		Aug 2023
76888a6f899SEric DeVolderContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
76988a6f899SEric DeVolderDescription:
770c91c6062SSourabh Jain		(RO) indicates whether or not the kernel updates relevant kexec
771c91c6062SSourabh Jain		segments on memory hot un/plug and/or on/offline events, avoiding the
772c91c6062SSourabh Jain		need to reload kdump kernel.
7734e1a7df4SJames Morse
7744e1a7df4SJames MorseWhat:		/sys/devices/system/cpu/enabled
7754e1a7df4SJames MorseDate:		Nov 2022
7764e1a7df4SJames MorseContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
7774e1a7df4SJames MorseDescription:
7784e1a7df4SJames Morse		(RO) the list of CPUs that can be brought online.
779