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