Alex Chiang | 2ceb3fb | 2009-10-21 21:45:20 -0600 | [diff] [blame] | 1 | What: /sys/devices/system/cpu/ |
| 2 | Date: pre-git history |
| 3 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| 4 | Description: |
| 5 | A collection of both global and individual CPU attributes |
| 6 | |
| 7 | Individual CPU attributes are contained in subdirectories |
| 8 | named by the kernel's logical CPU number, e.g.: |
| 9 | |
| 10 | /sys/devices/system/cpu/cpu#/ |
| 11 | |
Alex Chiang | e6dcfa7 | 2009-10-21 21:45:36 -0600 | [diff] [blame] | 12 | What: /sys/devices/system/cpu/sched_mc_power_savings |
| 13 | /sys/devices/system/cpu/sched_smt_power_savings |
| 14 | Date: June 2006 |
| 15 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| 16 | Description: Discover and adjust the kernel's multi-core scheduler support. |
| 17 | |
| 18 | Possible values are: |
| 19 | |
| 20 | 0 - No power saving load balance (default value) |
| 21 | 1 - Fill one thread/core/package first for long running threads |
| 22 | 2 - Also bias task wakeups to semi-idle cpu package for power |
| 23 | savings |
| 24 | |
| 25 | sched_mc_power_savings is dependent upon SCHED_MC, which is |
| 26 | itself architecture dependent. |
| 27 | |
| 28 | sched_smt_power_savings is dependent upon SCHED_SMT, which |
| 29 | is itself architecture dependent. |
| 30 | |
| 31 | The two files are independent of each other. It is possible |
| 32 | that one file may be present without the other. |
| 33 | |
| 34 | Introduced by git commit 5c45bf27. |
| 35 | |
Alex Chiang | 2ceb3fb | 2009-10-21 21:45:20 -0600 | [diff] [blame] | 36 | |
Alex Chiang | d93fc86 | 2009-10-21 21:45:25 -0600 | [diff] [blame] | 37 | What: /sys/devices/system/cpu/kernel_max |
| 38 | /sys/devices/system/cpu/offline |
| 39 | /sys/devices/system/cpu/online |
| 40 | /sys/devices/system/cpu/possible |
| 41 | /sys/devices/system/cpu/present |
| 42 | Date: December 2008 |
| 43 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| 44 | Description: CPU topology files that describe kernel limits related to |
| 45 | hotplug. Briefly: |
| 46 | |
| 47 | kernel_max: the maximum cpu index allowed by the kernel |
| 48 | configuration. |
| 49 | |
| 50 | offline: cpus that are not online because they have been |
| 51 | HOTPLUGGED off or exceed the limit of cpus allowed by the |
| 52 | kernel configuration (kernel_max above). |
| 53 | |
| 54 | online: cpus that are online and being scheduled. |
| 55 | |
| 56 | possible: cpus that have been allocated resources and can be |
| 57 | brought online if they are present. |
| 58 | |
| 59 | present: cpus that have been identified as being present in |
| 60 | the system. |
| 61 | |
| 62 | See Documentation/cputopology.txt for more information. |
| 63 | |
| 64 | |
Nathan Fontenot | 12633e8 | 2009-11-25 17:23:25 +0000 | [diff] [blame] | 65 | What: /sys/devices/system/cpu/probe |
| 66 | /sys/devices/system/cpu/release |
| 67 | Date: November 2009 |
| 68 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| 69 | Description: Dynamic addition and removal of CPU's. This is not hotplug |
| 70 | removal, this is meant complete removal/addition of the CPU |
| 71 | from the system. |
| 72 | |
| 73 | probe: writes to this file will dynamically add a CPU to the |
| 74 | system. Information written to the file to add CPU's is |
| 75 | architecture specific. |
| 76 | |
| 77 | release: writes to this file dynamically remove a CPU from |
| 78 | the system. Information writtento the file to remove CPU's |
| 79 | is architecture specific. |
Alex Chiang | 657348a | 2009-10-21 22:15:30 -0600 | [diff] [blame] | 80 | |
| 81 | What: /sys/devices/system/cpu/cpu#/node |
| 82 | Date: October 2009 |
| 83 | Contact: Linux memory management mailing list <linux-mm@kvack.org> |
| 84 | Description: Discover NUMA node a CPU belongs to |
| 85 | |
| 86 | When CONFIG_NUMA is enabled, a symbolic link that points |
| 87 | to the corresponding NUMA node directory. |
| 88 | |
| 89 | For example, the following symlink is created for cpu42 |
| 90 | in NUMA node 2: |
| 91 | |
| 92 | /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2 |
| 93 | |
| 94 | |
Alex Chiang | cba5dd7 | 2009-12-14 17:59:09 -0800 | [diff] [blame] | 95 | What: /sys/devices/system/cpu/cpu#/node |
| 96 | Date: October 2009 |
| 97 | Contact: Linux memory management mailing list <linux-mm@kvack.org> |
| 98 | Description: Discover NUMA node a CPU belongs to |
| 99 | |
| 100 | When CONFIG_NUMA is enabled, a symbolic link that points |
| 101 | to the corresponding NUMA node directory. |
| 102 | |
| 103 | For example, the following symlink is created for cpu42 |
| 104 | in NUMA node 2: |
| 105 | |
| 106 | /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2 |
| 107 | |
| 108 | |
Alex Chiang | 663fb2f | 2009-10-21 21:45:31 -0600 | [diff] [blame] | 109 | What: /sys/devices/system/cpu/cpu#/topology/core_id |
| 110 | /sys/devices/system/cpu/cpu#/topology/core_siblings |
| 111 | /sys/devices/system/cpu/cpu#/topology/core_siblings_list |
| 112 | /sys/devices/system/cpu/cpu#/topology/physical_package_id |
| 113 | /sys/devices/system/cpu/cpu#/topology/thread_siblings |
| 114 | /sys/devices/system/cpu/cpu#/topology/thread_siblings_list |
| 115 | Date: December 2008 |
| 116 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| 117 | Description: CPU topology files that describe a logical CPU's relationship |
| 118 | to other cores and threads in the same physical package. |
| 119 | |
| 120 | One cpu# directory is created per logical CPU in the system, |
| 121 | e.g. /sys/devices/system/cpu/cpu42/. |
| 122 | |
| 123 | Briefly, the files above are: |
| 124 | |
| 125 | core_id: the CPU core ID of cpu#. Typically it is the |
| 126 | hardware platform's identifier (rather than the kernel's). |
| 127 | The actual value is architecture and platform dependent. |
| 128 | |
| 129 | core_siblings: internal kernel map of cpu#'s hardware threads |
| 130 | within the same physical_package_id. |
| 131 | |
| 132 | core_siblings_list: human-readable list of the logical CPU |
| 133 | numbers within the same physical_package_id as cpu#. |
| 134 | |
| 135 | physical_package_id: physical package id of cpu#. Typically |
| 136 | corresponds to a physical socket number, but the actual value |
| 137 | is architecture and platform dependent. |
| 138 | |
| 139 | thread_siblings: internel kernel map of cpu#'s hardware |
| 140 | threads within the same core as cpu# |
| 141 | |
| 142 | thread_siblings_list: human-readable list of cpu#'s hardware |
| 143 | threads within the same core as cpu# |
| 144 | |
| 145 | See Documentation/cputopology.txt for more information. |
| 146 | |
| 147 | |
Alex Chiang | c1fb5c4 | 2009-10-21 21:45:41 -0600 | [diff] [blame] | 148 | What: /sys/devices/system/cpu/cpuidle/current_driver |
| 149 | /sys/devices/system/cpu/cpuidle/current_governer_ro |
| 150 | Date: September 2007 |
| 151 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| 152 | Description: Discover cpuidle policy and mechanism |
| 153 | |
| 154 | Various CPUs today support multiple idle levels that are |
| 155 | differentiated by varying exit latencies and power |
| 156 | consumption during idle. |
| 157 | |
| 158 | Idle policy (governor) is differentiated from idle mechanism |
| 159 | (driver) |
| 160 | |
| 161 | current_driver: displays current idle mechanism |
| 162 | |
| 163 | current_governor_ro: displays current idle policy |
| 164 | |
| 165 | See files in Documentation/cpuidle/ for more information. |
| 166 | |
| 167 | |
Alex Chiang | 0cda8b9 | 2009-10-21 21:45:46 -0600 | [diff] [blame] | 168 | What: /sys/devices/system/cpu/cpu#/cpufreq/* |
| 169 | Date: pre-git history |
| 170 | Contact: cpufreq@vger.kernel.org |
| 171 | Description: Discover and change clock speed of CPUs |
| 172 | |
| 173 | Clock scaling allows you to change the clock speed of the |
| 174 | CPUs on the fly. This is a nice method to save battery |
| 175 | power, because the lower the clock speed, the less power |
| 176 | the CPU consumes. |
| 177 | |
| 178 | There are many knobs to tweak in this directory. |
| 179 | |
| 180 | See files in Documentation/cpu-freq/ for more information. |
| 181 | |
| 182 | In particular, read Documentation/cpu-freq/user-guide.txt |
| 183 | to learn how to control the knobs. |
| 184 | |
| 185 | |
Mark Langsdorf | 2fad2d9 | 2009-04-09 15:31:53 +0200 | [diff] [blame] | 186 | What: /sys/devices/system/cpu/cpu*/cache/index*/cache_disable_X |
| 187 | Date: August 2008 |
| 188 | KernelVersion: 2.6.27 |
| 189 | Contact: mark.langsdorf@amd.com |
| 190 | Description: These files exist in every cpu's cache index directories. |
| 191 | There are currently 2 cache_disable_# files in each |
| 192 | directory. Reading from these files on a supported |
| 193 | processor will return that cache disable index value |
| 194 | for that processor and node. Writing to one of these |
| 195 | files will cause the specificed cache index to be disabled. |
| 196 | |
| 197 | Currently, only AMD Family 10h Processors support cache index |
| 198 | disable, and only for their L3 caches. See the BIOS and |
| 199 | Kernel Developer's Guide at |
| 200 | http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/31116-Public-GH-BKDG_3.20_2-4-09.pdf |
| 201 | for formatting information and other details on the |
| 202 | cache index disable. |
| 203 | Users: joachim.deguara@amd.com |