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
102ceb3fb0SAlex Chiang		/sys/devices/system/cpu/cpu#/
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
37d93fc863SAlex Chiang		See Documentation/cputopology.txt 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 writtento the file to remove CPU's
5412633e80SNathan Fontenot		is architecture specific.
55657348a0SAlex Chiang
56657348a0SAlex ChiangWhat:		/sys/devices/system/cpu/cpu#/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
70663fb2fcSAlex ChiangWhat:		/sys/devices/system/cpu/cpu#/topology/core_id
71663fb2fcSAlex Chiang		/sys/devices/system/cpu/cpu#/topology/core_siblings
72663fb2fcSAlex Chiang		/sys/devices/system/cpu/cpu#/topology/core_siblings_list
73663fb2fcSAlex Chiang		/sys/devices/system/cpu/cpu#/topology/physical_package_id
74663fb2fcSAlex Chiang		/sys/devices/system/cpu/cpu#/topology/thread_siblings
75663fb2fcSAlex Chiang		/sys/devices/system/cpu/cpu#/topology/thread_siblings_list
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
81663fb2fcSAlex Chiang		One cpu# 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
86663fb2fcSAlex Chiang		core_id: the CPU core ID of cpu#. Typically it is the
87663fb2fcSAlex Chiang		hardware platform's identifier (rather than the kernel's).
88663fb2fcSAlex Chiang		The actual value is architecture and platform dependent.
89663fb2fcSAlex Chiang
90663fb2fcSAlex Chiang		core_siblings: internal kernel map of cpu#'s hardware threads
91663fb2fcSAlex Chiang		within the same physical_package_id.
92663fb2fcSAlex Chiang
93663fb2fcSAlex Chiang		core_siblings_list: human-readable list of the logical CPU
94663fb2fcSAlex Chiang		numbers within the same physical_package_id as cpu#.
95663fb2fcSAlex Chiang
96663fb2fcSAlex Chiang		physical_package_id: physical package id of cpu#. Typically
97663fb2fcSAlex Chiang		corresponds to a physical socket number, but the actual value
98663fb2fcSAlex Chiang		is architecture and platform dependent.
99663fb2fcSAlex Chiang
100663fb2fcSAlex Chiang		thread_siblings: internel kernel map of cpu#'s hardware
101663fb2fcSAlex Chiang		threads within the same core as cpu#
102663fb2fcSAlex Chiang
103663fb2fcSAlex Chiang		thread_siblings_list: human-readable list of cpu#'s hardware
104663fb2fcSAlex Chiang		threads within the same core as cpu#
105663fb2fcSAlex Chiang
106663fb2fcSAlex Chiang		See Documentation/cputopology.txt for more information.
107663fb2fcSAlex Chiang
108663fb2fcSAlex Chiang
109c1fb5c47SAlex ChiangWhat:		/sys/devices/system/cpu/cpuidle/current_driver
110c1fb5c47SAlex Chiang		/sys/devices/system/cpu/cpuidle/current_governer_ro
111b6d8ef86SAishwarya Pant		/sys/devices/system/cpu/cpuidle/available_governors
112b6d8ef86SAishwarya Pant		/sys/devices/system/cpu/cpuidle/current_governor
113c1fb5c47SAlex ChiangDate:		September 2007
114c1fb5c47SAlex ChiangContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
115c1fb5c47SAlex ChiangDescription:	Discover cpuidle policy and mechanism
116c1fb5c47SAlex Chiang
117c1fb5c47SAlex Chiang		Various CPUs today support multiple idle levels that are
118c1fb5c47SAlex Chiang		differentiated by varying exit latencies and power
119c1fb5c47SAlex Chiang		consumption during idle.
120c1fb5c47SAlex Chiang
121c1fb5c47SAlex Chiang		Idle policy (governor) is differentiated from idle mechanism
122c1fb5c47SAlex Chiang		(driver)
123c1fb5c47SAlex Chiang
124b6d8ef86SAishwarya Pant		current_driver: (RO) displays current idle mechanism
125c1fb5c47SAlex Chiang
126b6d8ef86SAishwarya Pant		current_governor_ro: (RO) displays current idle policy
127b6d8ef86SAishwarya Pant
128b6d8ef86SAishwarya Pant		With the cpuidle_sysfs_switch boot option enabled (meant for
129b6d8ef86SAishwarya Pant		developer testing), the following three attributes are visible
130b6d8ef86SAishwarya Pant		instead:
131b6d8ef86SAishwarya Pant
132b6d8ef86SAishwarya Pant		current_driver: same as described above
133b6d8ef86SAishwarya Pant
134b6d8ef86SAishwarya Pant		available_governors: (RO) displays a space separated list of
135b6d8ef86SAishwarya Pant		available governors
136b6d8ef86SAishwarya Pant
137b6d8ef86SAishwarya Pant		current_governor: (RW) displays current idle policy. Users can
138b6d8ef86SAishwarya Pant		switch the governor at runtime by writing to this file.
139c1fb5c47SAlex Chiang
140c1fb5c47SAlex Chiang		See files in Documentation/cpuidle/ for more information.
141c1fb5c47SAlex Chiang
142c1fb5c47SAlex Chiang
143b6d8ef86SAishwarya PantWhat:		/sys/devices/system/cpu/cpuX/cpuidle/stateN/name
144b6d8ef86SAishwarya Pant		/sys/devices/system/cpu/cpuX/cpuidle/stateN/latency
145b6d8ef86SAishwarya Pant		/sys/devices/system/cpu/cpuX/cpuidle/stateN/power
146b6d8ef86SAishwarya Pant		/sys/devices/system/cpu/cpuX/cpuidle/stateN/time
147b6d8ef86SAishwarya Pant		/sys/devices/system/cpu/cpuX/cpuidle/stateN/usage
148b6d8ef86SAishwarya PantDate:		September 2007
149b6d8ef86SAishwarya PantKernelVersion:	v2.6.24
150b6d8ef86SAishwarya PantContact:	Linux power management list <linux-pm@vger.kernel.org>
151b6d8ef86SAishwarya PantDescription:
152b6d8ef86SAishwarya Pant		The directory /sys/devices/system/cpu/cpuX/cpuidle contains per
153b6d8ef86SAishwarya Pant		logical CPU specific cpuidle information for each online cpu X.
154b6d8ef86SAishwarya Pant		The processor idle states which are available for use have the
155b6d8ef86SAishwarya Pant		following attributes:
156b6d8ef86SAishwarya Pant
157b6d8ef86SAishwarya Pant		name: (RO) Name of the idle state (string).
158b6d8ef86SAishwarya Pant
159b6d8ef86SAishwarya Pant		latency: (RO) The latency to exit out of this idle state (in
160b6d8ef86SAishwarya Pant		microseconds).
161b6d8ef86SAishwarya Pant
162b6d8ef86SAishwarya Pant		power: (RO) The power consumed while in this idle state (in
163b6d8ef86SAishwarya Pant		milliwatts).
164b6d8ef86SAishwarya Pant
165b6d8ef86SAishwarya Pant		time: (RO) The total time spent in this idle state (in microseconds).
166b6d8ef86SAishwarya Pant
167b6d8ef86SAishwarya Pant		usage: (RO) Number of times this state was entered (a count).
168b6d8ef86SAishwarya Pant
169b6d8ef86SAishwarya Pant
170b6d8ef86SAishwarya PantWhat:		/sys/devices/system/cpu/cpuX/cpuidle/stateN/desc
171b6d8ef86SAishwarya PantDate:		February 2008
172b6d8ef86SAishwarya PantKernelVersion:	v2.6.25
173b6d8ef86SAishwarya PantContact:	Linux power management list <linux-pm@vger.kernel.org>
174b6d8ef86SAishwarya PantDescription:
175b6d8ef86SAishwarya Pant		(RO) A small description about the idle state (string).
176b6d8ef86SAishwarya Pant
177b6d8ef86SAishwarya Pant
178b6d8ef86SAishwarya PantWhat:		/sys/devices/system/cpu/cpuX/cpuidle/stateN/disable
179b6d8ef86SAishwarya PantDate:		March 2012
180b6d8ef86SAishwarya PantKernelVersion:	v3.10
181b6d8ef86SAishwarya PantContact:	Linux power management list <linux-pm@vger.kernel.org>
182b6d8ef86SAishwarya PantDescription:
183b6d8ef86SAishwarya Pant		(RW) Option to disable this idle state (bool). The behavior and
184b6d8ef86SAishwarya Pant		the effect of the disable variable depends on the implementation
185b6d8ef86SAishwarya Pant		of a particular governor. In the ladder governor, for example,
186b6d8ef86SAishwarya Pant		it is not coherent, i.e. if one is disabling a light state, then
187b6d8ef86SAishwarya Pant		all deeper states are disabled as well, but the disable variable
188b6d8ef86SAishwarya Pant		does not reflect it. Likewise, if one enables a deep state but a
189b6d8ef86SAishwarya Pant		lighter state still is disabled, then this has no effect.
190b6d8ef86SAishwarya Pant
191b6d8ef86SAishwarya Pant
192b6d8ef86SAishwarya PantWhat:		/sys/devices/system/cpu/cpuX/cpuidle/stateN/residency
193b6d8ef86SAishwarya PantDate:		March 2014
194b6d8ef86SAishwarya PantKernelVersion:	v3.15
195b6d8ef86SAishwarya PantContact:	Linux power management list <linux-pm@vger.kernel.org>
196b6d8ef86SAishwarya PantDescription:
197b6d8ef86SAishwarya Pant		(RO) Display the target residency i.e. the minimum amount of
198b6d8ef86SAishwarya Pant		time (in microseconds) this cpu should spend in this idle state
199b6d8ef86SAishwarya Pant		to make the transition worth the effort.
200b6d8ef86SAishwarya Pant
20164bdff69SRafael J. WysockiWhat:		/sys/devices/system/cpu/cpuX/cpuidle/stateN/s2idle/
20264bdff69SRafael J. WysockiDate:		March 2018
20364bdff69SRafael J. WysockiKernelVersion:	v4.17
20464bdff69SRafael J. WysockiContact:	Linux power management list <linux-pm@vger.kernel.org>
20564bdff69SRafael J. WysockiDescription:
20664bdff69SRafael J. Wysocki		Idle state usage statistics related to suspend-to-idle.
20764bdff69SRafael J. Wysocki
20864bdff69SRafael J. Wysocki		This attribute group is only present for states that can be
20964bdff69SRafael J. Wysocki		used in suspend-to-idle with suspended timekeeping.
21064bdff69SRafael J. Wysocki
21164bdff69SRafael J. WysockiWhat:		/sys/devices/system/cpu/cpuX/cpuidle/stateN/s2idle/time
21264bdff69SRafael J. WysockiDate:		March 2018
21364bdff69SRafael J. WysockiKernelVersion:	v4.17
21464bdff69SRafael J. WysockiContact:	Linux power management list <linux-pm@vger.kernel.org>
21564bdff69SRafael J. WysockiDescription:
21664bdff69SRafael J. Wysocki		Total time spent by the CPU in suspend-to-idle (with scheduler
21764bdff69SRafael J. Wysocki		tick suspended) after requesting this state.
21864bdff69SRafael J. Wysocki
21964bdff69SRafael J. WysockiWhat:		/sys/devices/system/cpu/cpuX/cpuidle/stateN/s2idle/usage
22064bdff69SRafael J. WysockiDate:		March 2018
22164bdff69SRafael J. WysockiKernelVersion:	v4.17
22264bdff69SRafael J. WysockiContact:	Linux power management list <linux-pm@vger.kernel.org>
22364bdff69SRafael J. WysockiDescription:
22464bdff69SRafael J. Wysocki		Total number of times this state has been requested by the CPU
22564bdff69SRafael J. Wysocki		while entering suspend-to-idle.
226b6d8ef86SAishwarya Pant
2270cda8b91SAlex ChiangWhat:		/sys/devices/system/cpu/cpu#/cpufreq/*
2280cda8b91SAlex ChiangDate:		pre-git history
229dec102aaSViresh KumarContact:	linux-pm@vger.kernel.org
2300cda8b91SAlex ChiangDescription:	Discover and change clock speed of CPUs
2310cda8b91SAlex Chiang
2320cda8b91SAlex Chiang		Clock scaling allows you to change the clock speed of the
2330cda8b91SAlex Chiang		CPUs on the fly. This is a nice method to save battery
2340cda8b91SAlex Chiang		power, because the lower the clock speed, the less power
2350cda8b91SAlex Chiang		the CPU consumes.
2360cda8b91SAlex Chiang
2370cda8b91SAlex Chiang		There are many knobs to tweak in this directory.
2380cda8b91SAlex Chiang
2390cda8b91SAlex Chiang		See files in Documentation/cpu-freq/ for more information.
2400cda8b91SAlex Chiang
2410cda8b91SAlex Chiang
242f4fd3797SLan TianyuWhat:		/sys/devices/system/cpu/cpu#/cpufreq/freqdomain_cpus
243f4fd3797SLan TianyuDate:		June 2013
244dec102aaSViresh KumarContact:	linux-pm@vger.kernel.org
245f4fd3797SLan TianyuDescription:	Discover CPUs in the same CPU frequency coordination domain
246f4fd3797SLan Tianyu
247f4fd3797SLan Tianyu		freqdomain_cpus is the list of CPUs (online+offline) that share
248f4fd3797SLan Tianyu		the same clock/freq domain (possibly at the hardware level).
249f4fd3797SLan Tianyu		That information may be hidden from the cpufreq core and the
250f4fd3797SLan Tianyu		value of related_cpus may be different from freqdomain_cpus. This
251f4fd3797SLan Tianyu		attribute is useful for user space DVFS controllers to get better
252f4fd3797SLan Tianyu		power/performance results for platforms using acpi-cpufreq.
253f4fd3797SLan Tianyu
254f4fd3797SLan Tianyu		This file is only present if the acpi-cpufreq driver is in use.
255f4fd3797SLan Tianyu
256f4fd3797SLan Tianyu
257eecaaba5SBorislav PetkovWhat:		/sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
258468727abSAlex ChiangDate:		August 2008
259468727abSAlex ChiangKernelVersion:	2.6.27
260ea8e080bSAravind GopalakrishnanContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
261eecaaba5SBorislav PetkovDescription:	Disable L3 cache indices
262468727abSAlex Chiang
263eecaaba5SBorislav Petkov		These files exist in every CPU's cache/index3 directory. Each
264eecaaba5SBorislav Petkov		cache_disable_{0,1} file corresponds to one disable slot which
265eecaaba5SBorislav Petkov		can be used to disable a cache index. Reading from these files
266eecaaba5SBorislav Petkov		on a processor with this functionality will return the currently
267eecaaba5SBorislav Petkov		disabled index for that node. There is one L3 structure per
268eecaaba5SBorislav Petkov		node, or per internal node on MCM machines. Writing a valid
269eecaaba5SBorislav Petkov		index to one of these files will cause the specificed cache
270eecaaba5SBorislav Petkov		index to be disabled.
271eecaaba5SBorislav Petkov
272eecaaba5SBorislav Petkov		All AMD processors with L3 caches provide this functionality.
273eecaaba5SBorislav Petkov		For details, see BKDGs at
274eecaaba5SBorislav Petkov		http://developer.amd.com/documentation/guides/Pages/default.aspx
275615b7300SAndre Przywara
276615b7300SAndre Przywara
277615b7300SAndre PrzywaraWhat:		/sys/devices/system/cpu/cpufreq/boost
278615b7300SAndre PrzywaraDate:		August 2012
279615b7300SAndre PrzywaraContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
280615b7300SAndre PrzywaraDescription:	Processor frequency boosting control
281615b7300SAndre Przywara
282615b7300SAndre Przywara		This switch controls the boost setting for the whole system.
283615b7300SAndre Przywara		Boosting allows the CPU and the firmware to run at a frequency
284615b7300SAndre Przywara		beyound it's nominal limit.
2853ba9b1b8STom Saeger		More details can be found in
2863ba9b1b8STom Saeger		Documentation/admin-guide/pm/cpufreq.rst
287c4fd675fSZhang Yanfei
288c4fd675fSZhang Yanfei
289c4fd675fSZhang YanfeiWhat:		/sys/devices/system/cpu/cpu#/crash_notes
290c4fd675fSZhang Yanfei		/sys/devices/system/cpu/cpu#/crash_notes_size
291c4fd675fSZhang YanfeiDate:		April 2013
292c4fd675fSZhang YanfeiContact:	kexec@lists.infradead.org
293c4fd675fSZhang YanfeiDescription:	address and size of the percpu note.
294c4fd675fSZhang Yanfei
295c4fd675fSZhang Yanfei		crash_notes: the physical address of the memory that holds the
296c4fd675fSZhang Yanfei		note of cpu#.
297c4fd675fSZhang Yanfei
298c4fd675fSZhang Yanfei		crash_notes_size: size of the note of cpu#.
299fbe299e0SRamkumar Ramachandra
300fbe299e0SRamkumar Ramachandra
301fbe299e0SRamkumar RamachandraWhat:		/sys/devices/system/cpu/intel_pstate/max_perf_pct
302fbe299e0SRamkumar Ramachandra		/sys/devices/system/cpu/intel_pstate/min_perf_pct
303fbe299e0SRamkumar Ramachandra		/sys/devices/system/cpu/intel_pstate/no_turbo
304fbe299e0SRamkumar RamachandraDate:		February 2013
305fbe299e0SRamkumar RamachandraContact:	linux-pm@vger.kernel.org
306fbe299e0SRamkumar RamachandraDescription:	Parameters for the Intel P-state driver
307fbe299e0SRamkumar Ramachandra
308fbe299e0SRamkumar Ramachandra		Logic for selecting the current P-state in Intel
309fbe299e0SRamkumar Ramachandra		Sandybridge+ processors. The three knobs control
310fbe299e0SRamkumar Ramachandra		limits for the P-state that will be requested by the
311fbe299e0SRamkumar Ramachandra		driver.
312fbe299e0SRamkumar Ramachandra
313fbe299e0SRamkumar Ramachandra		max_perf_pct: limits the maximum P state that will be requested by
314fbe299e0SRamkumar Ramachandra		the driver stated as a percentage of the available performance.
315fbe299e0SRamkumar Ramachandra
316fbe299e0SRamkumar Ramachandra		min_perf_pct: limits the minimum P state that will be requested by
317fbe299e0SRamkumar Ramachandra		the driver stated as a percentage of the available performance.
318fbe299e0SRamkumar Ramachandra
319fbe299e0SRamkumar Ramachandra		no_turbo: limits the driver to selecting P states below the turbo
320fbe299e0SRamkumar Ramachandra		frequency range.
321fbe299e0SRamkumar Ramachandra
3223ba9b1b8STom Saeger		More details can be found in
3233ba9b1b8STom Saeger		Documentation/admin-guide/pm/intel_pstate.rst
324246246cbSSudeep Holla
325246246cbSSudeep HollaWhat:		/sys/devices/system/cpu/cpu*/cache/index*/<set_of_attributes_mentioned_below>
326246246cbSSudeep HollaDate:		July 2014(documented, existed before August 2008)
327246246cbSSudeep HollaContact:	Sudeep Holla <sudeep.holla@arm.com>
328246246cbSSudeep Holla		Linux kernel mailing list <linux-kernel@vger.kernel.org>
329246246cbSSudeep HollaDescription:	Parameters for the CPU cache attributes
330246246cbSSudeep Holla
331246246cbSSudeep Holla		allocation_policy:
332246246cbSSudeep Holla			- WriteAllocate: allocate a memory location to a cache line
333246246cbSSudeep Holla					 on a cache miss because of a write
334246246cbSSudeep Holla			- ReadAllocate: allocate a memory location to a cache line
335246246cbSSudeep Holla					on a cache miss because of a read
336246246cbSSudeep Holla			- ReadWriteAllocate: both writeallocate and readallocate
337246246cbSSudeep Holla
338246246cbSSudeep Holla		attributes: LEGACY used only on IA64 and is same as write_policy
339246246cbSSudeep Holla
340246246cbSSudeep Holla		coherency_line_size: the minimum amount of data in bytes that gets
341246246cbSSudeep Holla				     transferred from memory to cache
342246246cbSSudeep Holla
3432539b258SWill Deacon		level: the cache hierarchy in the multi-level cache configuration
344246246cbSSudeep Holla
345246246cbSSudeep Holla		number_of_sets: total number of sets in the cache, a set is a
346246246cbSSudeep Holla				collection of cache lines with the same cache index
347246246cbSSudeep Holla
348246246cbSSudeep Holla		physical_line_partition: number of physical cache line per cache tag
349246246cbSSudeep Holla
350246246cbSSudeep Holla		shared_cpu_list: the list of logical cpus sharing the cache
351246246cbSSudeep Holla
352246246cbSSudeep Holla		shared_cpu_map: logical cpu mask containing the list of cpus sharing
353246246cbSSudeep Holla				the cache
354246246cbSSudeep Holla
355246246cbSSudeep Holla		size: the total cache size in kB
356246246cbSSudeep Holla
357246246cbSSudeep Holla		type:
358246246cbSSudeep Holla			- Instruction: cache that only holds instructions
359246246cbSSudeep Holla			- Data: cache that only caches data
360246246cbSSudeep Holla			- Unified: cache that holds both data and instructions
361246246cbSSudeep Holla
362246246cbSSudeep Holla		ways_of_associativity: degree of freedom in placing a particular block
363246246cbSSudeep Holla					of memory in the cache
364246246cbSSudeep Holla
365246246cbSSudeep Holla		write_policy:
366246246cbSSudeep Holla			- WriteThrough: data is written to both the cache line
367246246cbSSudeep Holla					and to the block in the lower-level memory
368246246cbSSudeep Holla			- WriteBack: data is written only to the cache line and
369246246cbSSudeep Holla				     the modified cache line is written to main
370246246cbSSudeep Holla				     memory only when it is replaced
3711b028984SShilpasri G Bhat
3721d78dc59STony Luck
3731d78dc59STony LuckWhat:		/sys/devices/system/cpu/cpu*/cache/index*/id
3741d78dc59STony LuckDate:		September 2016
3751d78dc59STony LuckContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
3761d78dc59STony LuckDescription:	Cache id
3771d78dc59STony Luck
3781d78dc59STony Luck		The id provides a unique number for a specific instance of
3791d78dc59STony Luck		a cache of a particular type. E.g. there may be a level
3801d78dc59STony Luck		3 unified cache on each socket in a server and we may
3811d78dc59STony Luck		assign them ids 0, 1, 2, ...
3821d78dc59STony Luck
3831d78dc59STony Luck		Note that id value can be non-contiguous. E.g. level 1
3841d78dc59STony Luck		caches typically exist per core, but there may not be a
3851d78dc59STony Luck		power of two cores on a socket, so these caches may be
3861d78dc59STony Luck		numbered 0, 1, 2, 3, 4, 5, 8, 9, 10, ...
3871d78dc59STony Luck
3881b028984SShilpasri G BhatWhat:		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats
3891b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/turbo_stat
3901b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/sub_turbo_stat
3911b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/unthrottle
3921b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/powercap
3931b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overtemp
3941b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/supply_fault
3951b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overcurrent
3961b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/occ_reset
3971b028984SShilpasri G BhatDate:		March 2016
3981b028984SShilpasri G BhatContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
3991b028984SShilpasri G Bhat		Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
4001b028984SShilpasri G BhatDescription:	POWERNV CPUFreq driver's frequency throttle stats directory and
4011b028984SShilpasri G Bhat		attributes
4021b028984SShilpasri G Bhat
4031b028984SShilpasri G Bhat		'cpuX/cpufreq/throttle_stats' directory contains the CPU frequency
4041b028984SShilpasri G Bhat		throttle stat attributes for the chip. The throttle stats of a cpu
4051b028984SShilpasri G Bhat		is common across all the cpus belonging to a chip. Below are the
4061b028984SShilpasri G Bhat		throttle attributes exported in the 'throttle_stats' directory:
4071b028984SShilpasri G Bhat
4081b028984SShilpasri G Bhat		- turbo_stat : This file gives the total number of times the max
4091b028984SShilpasri G Bhat		frequency is throttled to lower frequency in turbo (at and above
4101b028984SShilpasri G Bhat		nominal frequency) range of frequencies.
4111b028984SShilpasri G Bhat
4121b028984SShilpasri G Bhat		- sub_turbo_stat : This file gives the total number of times the
4131b028984SShilpasri G Bhat		max frequency is throttled to lower frequency in sub-turbo(below
4141b028984SShilpasri G Bhat		nominal frequency) range of frequencies.
4151b028984SShilpasri G Bhat
4161b028984SShilpasri G Bhat		- unthrottle : This file gives the total number of times the max
4171b028984SShilpasri G Bhat		frequency is unthrottled after being throttled.
4181b028984SShilpasri G Bhat
4191b028984SShilpasri G Bhat		- powercap : This file gives the total number of times the max
4201b028984SShilpasri G Bhat		frequency is throttled due to 'Power Capping'.
4211b028984SShilpasri G Bhat
4221b028984SShilpasri G Bhat		- overtemp : This file gives the total number of times the max
4231b028984SShilpasri G Bhat		frequency is throttled due to 'CPU Over Temperature'.
4241b028984SShilpasri G Bhat
4251b028984SShilpasri G Bhat		- supply_fault : This file gives the total number of times the
4261b028984SShilpasri G Bhat		max frequency is throttled due to 'Power Supply Failure'.
4271b028984SShilpasri G Bhat
4281b028984SShilpasri G Bhat		- overcurrent : This file gives the total number of times the
4291b028984SShilpasri G Bhat		max frequency is throttled due to 'Overcurrent'.
4301b028984SShilpasri G Bhat
4311b028984SShilpasri G Bhat		- occ_reset : This file gives the total number of times the max
4321b028984SShilpasri G Bhat		frequency is throttled due to 'OCC Reset'.
4331b028984SShilpasri G Bhat
4341b028984SShilpasri G Bhat		The sysfs attributes representing different throttle reasons like
4351b028984SShilpasri G Bhat		powercap, overtemp, supply_fault, overcurrent and occ_reset map to
4361b028984SShilpasri G Bhat		the reasons provided by OCC firmware for throttling the frequency.
4371b028984SShilpasri G Bhat
4381b028984SShilpasri G BhatWhat:		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats
4391b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/turbo_stat
4401b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/sub_turbo_stat
4411b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/unthrottle
4421b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/powercap
4431b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overtemp
4441b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/supply_fault
4451b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overcurrent
4461b028984SShilpasri G Bhat		/sys/devices/system/cpu/cpufreq/policyX/throttle_stats/occ_reset
4471b028984SShilpasri G BhatDate:		March 2016
4481b028984SShilpasri G BhatContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
4491b028984SShilpasri G Bhat		Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org>
4501b028984SShilpasri G BhatDescription:	POWERNV CPUFreq driver's frequency throttle stats directory and
4511b028984SShilpasri G Bhat		attributes
4521b028984SShilpasri G Bhat
4531b028984SShilpasri G Bhat		'policyX/throttle_stats' directory and all the attributes are same as
4541b028984SShilpasri G Bhat		the /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats directory and
4551b028984SShilpasri G Bhat		attributes which give the frequency throttle information of the chip.
456f8d9f924SSteve Capper
457f8d9f924SSteve CapperWhat:		/sys/devices/system/cpu/cpuX/regs/
458f8d9f924SSteve Capper		/sys/devices/system/cpu/cpuX/regs/identification/
459f8d9f924SSteve Capper		/sys/devices/system/cpu/cpuX/regs/identification/midr_el1
460f8d9f924SSteve Capper		/sys/devices/system/cpu/cpuX/regs/identification/revidr_el1
461f8d9f924SSteve CapperDate:		June 2016
462f8d9f924SSteve CapperContact:	Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
463f8d9f924SSteve CapperDescription:	AArch64 CPU registers
464f8d9f924SSteve Capper		'identification' directory exposes the CPU ID registers for
465f8d9f924SSteve Capper		 identifying model and revision of the CPU.
466a2b60670SJuri Lelli
467a2b60670SJuri LelliWhat:		/sys/devices/system/cpu/cpu#/cpu_capacity
468a2b60670SJuri LelliDate:		December 2016
469a2b60670SJuri LelliContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
470a2b60670SJuri LelliDescription:	information about CPUs heterogeneity.
471a2b60670SJuri Lelli
472a2b60670SJuri Lelli		cpu_capacity: capacity of cpu#.
47387590ce6SThomas Gleixner
47487590ce6SThomas GleixnerWhat:		/sys/devices/system/cpu/vulnerabilities
47587590ce6SThomas Gleixner		/sys/devices/system/cpu/vulnerabilities/meltdown
47687590ce6SThomas Gleixner		/sys/devices/system/cpu/vulnerabilities/spectre_v1
47787590ce6SThomas Gleixner		/sys/devices/system/cpu/vulnerabilities/spectre_v2
478c456442cSKonrad Rzeszutek Wilk		/sys/devices/system/cpu/vulnerabilities/spec_store_bypass
479d90a7a0eSJiri Kosina		/sys/devices/system/cpu/vulnerabilities/l1tf
4809ecccfaaSDavid WoodhouseDate:		January 2018
48187590ce6SThomas GleixnerContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
48287590ce6SThomas GleixnerDescription:	Information about CPU vulnerabilities
48387590ce6SThomas Gleixner
48487590ce6SThomas Gleixner		The files are named after the code names of CPU
48587590ce6SThomas Gleixner		vulnerabilities. The output of those files reflects the
48687590ce6SThomas Gleixner		state of the CPUs in the system. Possible output values:
48787590ce6SThomas Gleixner
48887590ce6SThomas Gleixner		"Not affected"	  CPU is not affected by the vulnerability
48987590ce6SThomas Gleixner		"Vulnerable"	  CPU is affected and no mitigation in effect
4909ecccfaaSDavid Woodhouse		"Mitigation: $M"  CPU is affected and mitigation $M is in effect
49105736e4aSThomas Gleixner
492d90a7a0eSJiri Kosina		Details about the l1tf file can be found in
493d90a7a0eSJiri Kosina		Documentation/admin-guide/l1tf.rst
494d90a7a0eSJiri Kosina
49505736e4aSThomas GleixnerWhat:		/sys/devices/system/cpu/smt
49605736e4aSThomas Gleixner		/sys/devices/system/cpu/smt/active
49705736e4aSThomas Gleixner		/sys/devices/system/cpu/smt/control
49805736e4aSThomas GleixnerDate:		June 2018
49905736e4aSThomas GleixnerContact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
50005736e4aSThomas GleixnerDescription:	Control Symetric Multi Threading (SMT)
50105736e4aSThomas Gleixner
50205736e4aSThomas Gleixner		active:  Tells whether SMT is active (enabled and siblings online)
50305736e4aSThomas Gleixner
50405736e4aSThomas Gleixner		control: Read/write interface to control SMT. Possible
50505736e4aSThomas Gleixner			 values:
50605736e4aSThomas Gleixner
50705736e4aSThomas Gleixner			 "on"		SMT is enabled
50805736e4aSThomas Gleixner			 "off"		SMT is disabled
50905736e4aSThomas Gleixner			 "forceoff"	SMT is force disabled. Cannot be changed.
51005736e4aSThomas Gleixner			 "notsupported" SMT is not supported by the CPU
51105736e4aSThomas Gleixner
51205736e4aSThomas Gleixner			 If control status is "forceoff" or "notsupported" writes
51305736e4aSThomas Gleixner			 are rejected.
514