sysfs-devices-system-cpu 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689
  1. What: /sys/devices/system/cpu/
  2. Date: pre-git history
  3. Contact: Linux kernel mailing list <[email protected]>
  4. Description:
  5. A collection of both global and individual CPU attributes
  6. Individual CPU attributes are contained in subdirectories
  7. named by the kernel's logical CPU number, e.g.:
  8. /sys/devices/system/cpu/cpuX/
  9. What: /sys/devices/system/cpu/kernel_max
  10. /sys/devices/system/cpu/offline
  11. /sys/devices/system/cpu/online
  12. /sys/devices/system/cpu/possible
  13. /sys/devices/system/cpu/present
  14. Date: December 2008
  15. Contact: Linux kernel mailing list <[email protected]>
  16. Description: CPU topology files that describe kernel limits related to
  17. hotplug. Briefly:
  18. kernel_max: the maximum cpu index allowed by the kernel
  19. configuration.
  20. offline: cpus that are not online because they have been
  21. HOTPLUGGED off or exceed the limit of cpus allowed by the
  22. kernel configuration (kernel_max above).
  23. online: cpus that are online and being scheduled.
  24. possible: cpus that have been allocated resources and can be
  25. brought online if they are present.
  26. present: cpus that have been identified as being present in
  27. the system.
  28. See Documentation/admin-guide/cputopology.rst for more information.
  29. What: /sys/devices/system/cpu/probe
  30. /sys/devices/system/cpu/release
  31. Date: November 2009
  32. Contact: Linux kernel mailing list <[email protected]>
  33. Description: Dynamic addition and removal of CPU's. This is not hotplug
  34. removal, this is meant complete removal/addition of the CPU
  35. from the system.
  36. probe: writes to this file will dynamically add a CPU to the
  37. system. Information written to the file to add CPU's is
  38. architecture specific.
  39. release: writes to this file dynamically remove a CPU from
  40. the system. Information written to the file to remove CPU's
  41. is architecture specific.
  42. What: /sys/devices/system/cpu/cpuX/node
  43. Date: October 2009
  44. Contact: Linux memory management mailing list <[email protected]>
  45. Description: Discover NUMA node a CPU belongs to
  46. When CONFIG_NUMA is enabled, a symbolic link that points
  47. to the corresponding NUMA node directory.
  48. For example, the following symlink is created for cpu42
  49. in NUMA node 2:
  50. /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2
  51. What: /sys/devices/system/cpu/cpuX/topology/core_siblings
  52. /sys/devices/system/cpu/cpuX/topology/core_siblings_list
  53. /sys/devices/system/cpu/cpuX/topology/physical_package_id
  54. /sys/devices/system/cpu/cpuX/topology/thread_siblings
  55. /sys/devices/system/cpu/cpuX/topology/thread_siblings_list
  56. /sys/devices/system/cpu/cpuX/topology/ppin
  57. Date: December 2008
  58. Contact: Linux kernel mailing list <[email protected]>
  59. Description: CPU topology files that describe a logical CPU's relationship
  60. to other cores and threads in the same physical package.
  61. One cpuX directory is created per logical CPU in the system,
  62. e.g. /sys/devices/system/cpu/cpu42/.
  63. Briefly, the files above are:
  64. core_siblings: internal kernel map of cpuX's hardware threads
  65. within the same physical_package_id.
  66. core_siblings_list: human-readable list of the logical CPU
  67. numbers within the same physical_package_id as cpuX.
  68. physical_package_id: physical package id of cpuX. Typically
  69. corresponds to a physical socket number, but the actual value
  70. is architecture and platform dependent.
  71. thread_siblings: internal kernel map of cpuX's hardware
  72. threads within the same core as cpuX
  73. thread_siblings_list: human-readable list of cpuX's hardware
  74. threads within the same core as cpuX
  75. ppin: human-readable Protected Processor Identification
  76. Number of the socket the cpu# belongs to. There should be
  77. one per physical_package_id. File is readable only to
  78. admin.
  79. See Documentation/admin-guide/cputopology.rst for more information.
  80. What: /sys/devices/system/cpu/cpuidle/available_governors
  81. /sys/devices/system/cpu/cpuidle/current_driver
  82. /sys/devices/system/cpu/cpuidle/current_governor
  83. /sys/devices/system/cpu/cpuidle/current_governer_ro
  84. Date: September 2007
  85. Contact: Linux kernel mailing list <[email protected]>
  86. Description: Discover cpuidle policy and mechanism
  87. Various CPUs today support multiple idle levels that are
  88. differentiated by varying exit latencies and power
  89. consumption during idle.
  90. Idle policy (governor) is differentiated from idle mechanism
  91. (driver).
  92. available_governors: (RO) displays a space separated list of
  93. available governors.
  94. current_driver: (RO) displays current idle mechanism.
  95. current_governor: (RW) displays current idle policy. Users can
  96. switch the governor at runtime by writing to this file.
  97. current_governor_ro: (RO) displays current idle policy.
  98. See Documentation/admin-guide/pm/cpuidle.rst and
  99. Documentation/driver-api/pm/cpuidle.rst for more information.
  100. What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/name
  101. /sys/devices/system/cpu/cpuX/cpuidle/stateN/latency
  102. /sys/devices/system/cpu/cpuX/cpuidle/stateN/power
  103. /sys/devices/system/cpu/cpuX/cpuidle/stateN/time
  104. /sys/devices/system/cpu/cpuX/cpuidle/stateN/usage
  105. /sys/devices/system/cpu/cpuX/cpuidle/stateN/above
  106. /sys/devices/system/cpu/cpuX/cpuidle/stateN/below
  107. Date: September 2007
  108. KernelVersion: v2.6.24
  109. Contact: Linux power management list <[email protected]>
  110. Description:
  111. The directory /sys/devices/system/cpu/cpuX/cpuidle contains per
  112. logical CPU specific cpuidle information for each online cpu X.
  113. The processor idle states which are available for use have the
  114. following attributes:
  115. ======== ==== =================================================
  116. name: (RO) Name of the idle state (string).
  117. latency: (RO) The latency to exit out of this idle state (in
  118. microseconds).
  119. power: (RO) The power consumed while in this idle state (in
  120. milliwatts).
  121. time: (RO) The total time spent in this idle state
  122. (in microseconds).
  123. usage: (RO) Number of times this state was entered (a count).
  124. above: (RO) Number of times this state was entered, but the
  125. observed CPU idle duration was too short for it
  126. (a count).
  127. below: (RO) Number of times this state was entered, but the
  128. observed CPU idle duration was too long for it
  129. (a count).
  130. ======== ==== =================================================
  131. What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/desc
  132. Date: February 2008
  133. KernelVersion: v2.6.25
  134. Contact: Linux power management list <[email protected]>
  135. Description:
  136. (RO) A small description about the idle state (string).
  137. What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/disable
  138. Date: March 2012
  139. KernelVersion: v3.10
  140. Contact: Linux power management list <[email protected]>
  141. Description:
  142. (RW) Option to disable this idle state (bool). The behavior and
  143. the effect of the disable variable depends on the implementation
  144. of a particular governor. In the ladder governor, for example,
  145. it is not coherent, i.e. if one is disabling a light state, then
  146. all deeper states are disabled as well, but the disable variable
  147. does not reflect it. Likewise, if one enables a deep state but a
  148. lighter state still is disabled, then this has no effect.
  149. What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/default_status
  150. Date: December 2019
  151. KernelVersion: v5.6
  152. Contact: Linux power management list <[email protected]>
  153. Description:
  154. (RO) The default status of this state, "enabled" or "disabled".
  155. What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/residency
  156. Date: March 2014
  157. KernelVersion: v3.15
  158. Contact: Linux power management list <[email protected]>
  159. Description:
  160. (RO) Display the target residency i.e. the minimum amount of
  161. time (in microseconds) this cpu should spend in this idle state
  162. to make the transition worth the effort.
  163. What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/
  164. Date: March 2018
  165. KernelVersion: v4.17
  166. Contact: Linux power management list <[email protected]>
  167. Description:
  168. Idle state usage statistics related to suspend-to-idle.
  169. This attribute group is only present for states that can be
  170. used in suspend-to-idle with suspended timekeeping.
  171. What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/time
  172. Date: March 2018
  173. KernelVersion: v4.17
  174. Contact: Linux power management list <[email protected]>
  175. Description:
  176. Total time spent by the CPU in suspend-to-idle (with scheduler
  177. tick suspended) after requesting this state.
  178. What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/usage
  179. Date: March 2018
  180. KernelVersion: v4.17
  181. Contact: Linux power management list <[email protected]>
  182. Description:
  183. Total number of times this state has been requested by the CPU
  184. while entering suspend-to-idle.
  185. What: /sys/devices/system/cpu/cpuX/cpufreq/*
  186. Date: pre-git history
  187. Contact: [email protected]
  188. Description: Discover and change clock speed of CPUs
  189. Clock scaling allows you to change the clock speed of the
  190. CPUs on the fly. This is a nice method to save battery
  191. power, because the lower the clock speed, the less power
  192. the CPU consumes.
  193. There are many knobs to tweak in this directory.
  194. See files in Documentation/cpu-freq/ for more information.
  195. What: /sys/devices/system/cpu/cpuX/cpufreq/freqdomain_cpus
  196. Date: June 2013
  197. Contact: [email protected]
  198. Description: Discover CPUs in the same CPU frequency coordination domain
  199. freqdomain_cpus is the list of CPUs (online+offline) that share
  200. the same clock/freq domain (possibly at the hardware level).
  201. That information may be hidden from the cpufreq core and the
  202. value of related_cpus may be different from freqdomain_cpus. This
  203. attribute is useful for user space DVFS controllers to get better
  204. power/performance results for platforms using acpi-cpufreq.
  205. This file is only present if the acpi-cpufreq or the cppc-cpufreq
  206. drivers are in use.
  207. What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
  208. Date: August 2008
  209. KernelVersion: 2.6.27
  210. Contact: Linux kernel mailing list <[email protected]>
  211. Description: Disable L3 cache indices
  212. These files exist in every CPU's cache/index3 directory. Each
  213. cache_disable_{0,1} file corresponds to one disable slot which
  214. can be used to disable a cache index. Reading from these files
  215. on a processor with this functionality will return the currently
  216. disabled index for that node. There is one L3 structure per
  217. node, or per internal node on MCM machines. Writing a valid
  218. index to one of these files will cause the specified cache
  219. index to be disabled.
  220. All AMD processors with L3 caches provide this functionality.
  221. For details, see BKDGs at
  222. https://www.amd.com/en/support/tech-docs?keyword=bios+kernel
  223. What: /sys/devices/system/cpu/cpufreq/boost
  224. Date: August 2012
  225. Contact: Linux kernel mailing list <[email protected]>
  226. Description: Processor frequency boosting control
  227. This switch controls the boost setting for the whole system.
  228. Boosting allows the CPU and the firmware to run at a frequency
  229. beyond its nominal limit.
  230. More details can be found in
  231. Documentation/admin-guide/pm/cpufreq.rst
  232. What: /sys/devices/system/cpu/cpuX/crash_notes
  233. /sys/devices/system/cpu/cpuX/crash_notes_size
  234. Date: April 2013
  235. Contact: [email protected]
  236. Description: address and size of the percpu note.
  237. crash_notes: the physical address of the memory that holds the
  238. note of cpuX.
  239. crash_notes_size: size of the note of cpuX.
  240. What: /sys/devices/system/cpu/intel_pstate/max_perf_pct
  241. /sys/devices/system/cpu/intel_pstate/min_perf_pct
  242. /sys/devices/system/cpu/intel_pstate/no_turbo
  243. Date: February 2013
  244. Contact: [email protected]
  245. Description: Parameters for the Intel P-state driver
  246. Logic for selecting the current P-state in Intel
  247. Sandybridge+ processors. The three knobs control
  248. limits for the P-state that will be requested by the
  249. driver.
  250. max_perf_pct: limits the maximum P state that will be requested by
  251. the driver stated as a percentage of the available performance.
  252. min_perf_pct: limits the minimum P state that will be requested by
  253. the driver stated as a percentage of the available performance.
  254. no_turbo: limits the driver to selecting P states below the turbo
  255. frequency range.
  256. More details can be found in
  257. Documentation/admin-guide/pm/intel_pstate.rst
  258. What: /sys/devices/system/cpu/cpu*/cache/index*/<set_of_attributes_mentioned_below>
  259. Date: July 2014(documented, existed before August 2008)
  260. Contact: Sudeep Holla <[email protected]>
  261. Linux kernel mailing list <[email protected]>
  262. Description: Parameters for the CPU cache attributes
  263. allocation_policy:
  264. - WriteAllocate:
  265. allocate a memory location to a cache line
  266. on a cache miss because of a write
  267. - ReadAllocate:
  268. allocate a memory location to a cache line
  269. on a cache miss because of a read
  270. - ReadWriteAllocate:
  271. both writeallocate and readallocate
  272. attributes:
  273. LEGACY used only on IA64 and is same as write_policy
  274. coherency_line_size:
  275. the minimum amount of data in bytes that gets
  276. transferred from memory to cache
  277. level:
  278. the cache hierarchy in the multi-level cache configuration
  279. number_of_sets:
  280. total number of sets in the cache, a set is a
  281. collection of cache lines with the same cache index
  282. physical_line_partition:
  283. number of physical cache line per cache tag
  284. shared_cpu_list:
  285. the list of logical cpus sharing the cache
  286. shared_cpu_map:
  287. logical cpu mask containing the list of cpus sharing
  288. the cache
  289. size:
  290. the total cache size in kB
  291. type:
  292. - Instruction: cache that only holds instructions
  293. - Data: cache that only caches data
  294. - Unified: cache that holds both data and instructions
  295. ways_of_associativity:
  296. degree of freedom in placing a particular block
  297. of memory in the cache
  298. write_policy:
  299. - WriteThrough:
  300. data is written to both the cache line
  301. and to the block in the lower-level memory
  302. - WriteBack:
  303. data is written only to the cache line and
  304. the modified cache line is written to main
  305. memory only when it is replaced
  306. What: /sys/devices/system/cpu/cpu*/cache/index*/id
  307. Date: September 2016
  308. Contact: Linux kernel mailing list <[email protected]>
  309. Description: Cache id
  310. The id provides a unique number for a specific instance of
  311. a cache of a particular type. E.g. there may be a level
  312. 3 unified cache on each socket in a server and we may
  313. assign them ids 0, 1, 2, ...
  314. Note that id value can be non-contiguous. E.g. level 1
  315. caches typically exist per core, but there may not be a
  316. power of two cores on a socket, so these caches may be
  317. numbered 0, 1, 2, 3, 4, 5, 8, 9, 10, ...
  318. What: /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats
  319. /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/turbo_stat
  320. /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/sub_turbo_stat
  321. /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/unthrottle
  322. /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/powercap
  323. /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overtemp
  324. /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/supply_fault
  325. /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/overcurrent
  326. /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/occ_reset
  327. Date: March 2016
  328. Contact: Linux kernel mailing list <[email protected]>
  329. Linux for PowerPC mailing list <[email protected]>
  330. Description: POWERNV CPUFreq driver's frequency throttle stats directory and
  331. attributes
  332. 'cpuX/cpufreq/throttle_stats' directory contains the CPU frequency
  333. throttle stat attributes for the chip. The throttle stats of a cpu
  334. is common across all the cpus belonging to a chip. Below are the
  335. throttle attributes exported in the 'throttle_stats' directory:
  336. - turbo_stat : This file gives the total number of times the max
  337. frequency is throttled to lower frequency in turbo (at and above
  338. nominal frequency) range of frequencies.
  339. - sub_turbo_stat : This file gives the total number of times the
  340. max frequency is throttled to lower frequency in sub-turbo(below
  341. nominal frequency) range of frequencies.
  342. - unthrottle : This file gives the total number of times the max
  343. frequency is unthrottled after being throttled.
  344. - powercap : This file gives the total number of times the max
  345. frequency is throttled due to 'Power Capping'.
  346. - overtemp : This file gives the total number of times the max
  347. frequency is throttled due to 'CPU Over Temperature'.
  348. - supply_fault : This file gives the total number of times the
  349. max frequency is throttled due to 'Power Supply Failure'.
  350. - overcurrent : This file gives the total number of times the
  351. max frequency is throttled due to 'Overcurrent'.
  352. - occ_reset : This file gives the total number of times the max
  353. frequency is throttled due to 'OCC Reset'.
  354. The sysfs attributes representing different throttle reasons like
  355. powercap, overtemp, supply_fault, overcurrent and occ_reset map to
  356. the reasons provided by OCC firmware for throttling the frequency.
  357. What: /sys/devices/system/cpu/cpufreq/policyX/throttle_stats
  358. /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/turbo_stat
  359. /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/sub_turbo_stat
  360. /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/unthrottle
  361. /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/powercap
  362. /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overtemp
  363. /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/supply_fault
  364. /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/overcurrent
  365. /sys/devices/system/cpu/cpufreq/policyX/throttle_stats/occ_reset
  366. Date: March 2016
  367. Contact: Linux kernel mailing list <[email protected]>
  368. Linux for PowerPC mailing list <[email protected]>
  369. Description: POWERNV CPUFreq driver's frequency throttle stats directory and
  370. attributes
  371. 'policyX/throttle_stats' directory and all the attributes are same as
  372. the /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats directory and
  373. attributes which give the frequency throttle information of the chip.
  374. What: /sys/devices/system/cpu/cpuX/regs/
  375. /sys/devices/system/cpu/cpuX/regs/identification/
  376. /sys/devices/system/cpu/cpuX/regs/identification/midr_el1
  377. /sys/devices/system/cpu/cpuX/regs/identification/revidr_el1
  378. /sys/devices/system/cpu/cpuX/regs/identification/smidr_el1
  379. Date: June 2016
  380. Contact: Linux ARM Kernel Mailing list <[email protected]>
  381. Description: AArch64 CPU registers
  382. 'identification' directory exposes the CPU ID registers for
  383. identifying model and revision of the CPU and SMCU.
  384. What: /sys/devices/system/cpu/aarch32_el0
  385. Date: May 2021
  386. Contact: Linux ARM Kernel Mailing list <[email protected]>
  387. Description: Identifies the subset of CPUs in the system that can execute
  388. AArch32 (32-bit ARM) applications. If present, the same format as
  389. /sys/devices/system/cpu/{offline,online,possible,present} is used.
  390. If absent, then all or none of the CPUs can execute AArch32
  391. applications and execve() will behave accordingly.
  392. What: /sys/devices/system/cpu/cpuX/cpu_capacity
  393. Date: December 2016
  394. Contact: Linux kernel mailing list <[email protected]>
  395. Description: information about CPUs heterogeneity.
  396. cpu_capacity: capacity of cpuX.
  397. What: /sys/devices/system/cpu/vulnerabilities
  398. /sys/devices/system/cpu/vulnerabilities/gather_data_sampling
  399. /sys/devices/system/cpu/vulnerabilities/itlb_multihit
  400. /sys/devices/system/cpu/vulnerabilities/l1tf
  401. /sys/devices/system/cpu/vulnerabilities/mds
  402. /sys/devices/system/cpu/vulnerabilities/meltdown
  403. /sys/devices/system/cpu/vulnerabilities/mmio_stale_data
  404. /sys/devices/system/cpu/vulnerabilities/retbleed
  405. /sys/devices/system/cpu/vulnerabilities/spec_store_bypass
  406. /sys/devices/system/cpu/vulnerabilities/spectre_v1
  407. /sys/devices/system/cpu/vulnerabilities/spectre_v2
  408. /sys/devices/system/cpu/vulnerabilities/srbds
  409. /sys/devices/system/cpu/vulnerabilities/tsx_async_abort
  410. Date: January 2018
  411. Contact: Linux kernel mailing list <[email protected]>
  412. Description: Information about CPU vulnerabilities
  413. The files are named after the code names of CPU
  414. vulnerabilities. The output of those files reflects the
  415. state of the CPUs in the system. Possible output values:
  416. ================ ==============================================
  417. "Not affected" CPU is not affected by the vulnerability
  418. "Vulnerable" CPU is affected and no mitigation in effect
  419. "Mitigation: $M" CPU is affected and mitigation $M is in effect
  420. ================ ==============================================
  421. See also: Documentation/admin-guide/hw-vuln/index.rst
  422. What: /sys/devices/system/cpu/smt
  423. /sys/devices/system/cpu/smt/active
  424. /sys/devices/system/cpu/smt/control
  425. Date: June 2018
  426. Contact: Linux kernel mailing list <[email protected]>
  427. Description: Control Symmetric Multi Threading (SMT)
  428. active: Tells whether SMT is active (enabled and siblings online)
  429. control: Read/write interface to control SMT. Possible
  430. values:
  431. ================ =========================================
  432. "on" SMT is enabled
  433. "off" SMT is disabled
  434. "forceoff" SMT is force disabled. Cannot be changed.
  435. "notsupported" SMT is not supported by the CPU
  436. "notimplemented" SMT runtime toggling is not
  437. implemented for the architecture
  438. ================ =========================================
  439. If control status is "forceoff" or "notsupported" writes
  440. are rejected.
  441. What: /sys/devices/system/cpu/cpuX/power/energy_perf_bias
  442. Date: March 2019
  443. Contact: [email protected]
  444. Description: Intel Energy and Performance Bias Hint (EPB)
  445. EPB for the given CPU in a sliding scale 0 - 15, where a value
  446. of 0 corresponds to a hint preference for highest performance
  447. and a value of 15 corresponds to the maximum energy savings.
  448. In order to change the EPB value for the CPU, write either
  449. a number in the 0 - 15 sliding scale above, or one of the
  450. strings: "performance", "balance-performance", "normal",
  451. "balance-power", "power" (that represent values reflected by
  452. their meaning), to this attribute.
  453. This attribute is present for all online CPUs supporting the
  454. Intel EPB feature.
  455. What: /sys/devices/system/cpu/umwait_control
  456. /sys/devices/system/cpu/umwait_control/enable_c02
  457. /sys/devices/system/cpu/umwait_control/max_time
  458. Date: May 2019
  459. Contact: Linux kernel mailing list <[email protected]>
  460. Description: Umwait control
  461. enable_c02: Read/write interface to control umwait C0.2 state
  462. Read returns C0.2 state status:
  463. 0: C0.2 is disabled
  464. 1: C0.2 is enabled
  465. Write 'y' or '1' or 'on' to enable C0.2 state.
  466. Write 'n' or '0' or 'off' to disable C0.2 state.
  467. The interface is case insensitive.
  468. max_time: Read/write interface to control umwait maximum time
  469. in TSC-quanta that the CPU can reside in either C0.1
  470. or C0.2 state. The time is an unsigned 32-bit number.
  471. Note that a value of zero means there is no limit.
  472. Low order two bits must be zero.
  473. What: /sys/devices/system/cpu/svm
  474. Date: August 2019
  475. Contact: Linux kernel mailing list <[email protected]>
  476. Linux for PowerPC mailing list <[email protected]>
  477. Description: Secure Virtual Machine
  478. If 1, it means the system is using the Protected Execution
  479. Facility in POWER9 and newer processors. i.e., it is a Secure
  480. Virtual Machine.
  481. What: /sys/devices/system/cpu/cpuX/purr
  482. Date: Apr 2005
  483. Contact: Linux for PowerPC mailing list <[email protected]>
  484. Description: PURR ticks for this CPU since the system boot.
  485. The Processor Utilization Resources Register (PURR) is
  486. a 64-bit counter which provides an estimate of the
  487. resources used by the CPU thread. The contents of this
  488. register increases monotonically. This sysfs interface
  489. exposes the number of PURR ticks for cpuX.
  490. What: /sys/devices/system/cpu/cpuX/spurr
  491. Date: Dec 2006
  492. Contact: Linux for PowerPC mailing list <[email protected]>
  493. Description: SPURR ticks for this CPU since the system boot.
  494. The Scaled Processor Utilization Resources Register
  495. (SPURR) is a 64-bit counter that provides a frequency
  496. invariant estimate of the resources used by the CPU
  497. thread. The contents of this register increases
  498. monotonically. This sysfs interface exposes the number
  499. of SPURR ticks for cpuX.
  500. What: /sys/devices/system/cpu/cpuX/idle_purr
  501. Date: Apr 2020
  502. Contact: Linux for PowerPC mailing list <[email protected]>
  503. Description: PURR ticks for cpuX when it was idle.
  504. This sysfs interface exposes the number of PURR ticks
  505. for cpuX when it was idle.
  506. What: /sys/devices/system/cpu/cpuX/idle_spurr
  507. Date: Apr 2020
  508. Contact: Linux for PowerPC mailing list <[email protected]>
  509. Description: SPURR ticks for cpuX when it was idle.
  510. This sysfs interface exposes the number of SPURR ticks
  511. for cpuX when it was idle.
  512. What: /sys/devices/system/cpu/cpuX/mte_tcf_preferred
  513. Date: July 2021
  514. Contact: Linux ARM Kernel Mailing list <[email protected]>
  515. Description: Preferred MTE tag checking mode
  516. When a user program specifies more than one MTE tag checking
  517. mode, this sysfs node is used to specify which mode should
  518. be preferred when scheduling a task on that CPU. Possible
  519. values:
  520. ================ ==============================================
  521. "sync" Prefer synchronous mode
  522. "asymm" Prefer asymmetric mode
  523. "async" Prefer asynchronous mode
  524. ================ ==============================================
  525. See also: Documentation/arm64/memory-tagging-extension.rst
  526. What: /sys/devices/system/cpu/nohz_full
  527. Date: Apr 2015
  528. Contact: Linux kernel mailing list <[email protected]>
  529. Description:
  530. (RO) the list of CPUs that are in nohz_full mode.
  531. These CPUs are set by boot parameter "nohz_full=".
  532. What: /sys/devices/system/cpu/isolated
  533. Date: Apr 2015
  534. Contact: Linux kernel mailing list <[email protected]>
  535. Description:
  536. (RO) the list of CPUs that are isolated and don't
  537. participate in load balancing. These CPUs are set by
  538. boot parameter "isolcpus=".