Merge remote branch 'alsa/fixes' into fix/hda
[sfrench/cifs-2.6.git] / Documentation / ABI / testing / sysfs-devices-system-cpu
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
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
36
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
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.
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
95 What:           /sys/devices/system/cpu/cpu#/topology/core_id
96                 /sys/devices/system/cpu/cpu#/topology/core_siblings
97                 /sys/devices/system/cpu/cpu#/topology/core_siblings_list
98                 /sys/devices/system/cpu/cpu#/topology/physical_package_id
99                 /sys/devices/system/cpu/cpu#/topology/thread_siblings
100                 /sys/devices/system/cpu/cpu#/topology/thread_siblings_list
101 Date:           December 2008
102 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
103 Description:    CPU topology files that describe a logical CPU's relationship
104                 to other cores and threads in the same physical package.
105
106                 One cpu# directory is created per logical CPU in the system,
107                 e.g. /sys/devices/system/cpu/cpu42/.
108
109                 Briefly, the files above are:
110
111                 core_id: the CPU core ID of cpu#. Typically it is the
112                 hardware platform's identifier (rather than the kernel's).
113                 The actual value is architecture and platform dependent.
114
115                 core_siblings: internal kernel map of cpu#'s hardware threads
116                 within the same physical_package_id.
117
118                 core_siblings_list: human-readable list of the logical CPU
119                 numbers within the same physical_package_id as cpu#.
120
121                 physical_package_id: physical package id of cpu#. Typically
122                 corresponds to a physical socket number, but the actual value
123                 is architecture and platform dependent.
124
125                 thread_siblings: internel kernel map of cpu#'s hardware
126                 threads within the same core as cpu#
127
128                 thread_siblings_list: human-readable list of cpu#'s hardware
129                 threads within the same core as cpu#
130
131                 See Documentation/cputopology.txt for more information.
132
133
134 What:           /sys/devices/system/cpu/cpuidle/current_driver
135                 /sys/devices/system/cpu/cpuidle/current_governer_ro
136 Date:           September 2007
137 Contact:        Linux kernel mailing list <linux-kernel@vger.kernel.org>
138 Description:    Discover cpuidle policy and mechanism
139
140                 Various CPUs today support multiple idle levels that are
141                 differentiated by varying exit latencies and power
142                 consumption during idle.
143
144                 Idle policy (governor) is differentiated from idle mechanism
145                 (driver)
146
147                 current_driver: displays current idle mechanism
148
149                 current_governor_ro: displays current idle policy
150
151                 See files in Documentation/cpuidle/ for more information.
152
153
154 What:           /sys/devices/system/cpu/cpu#/cpufreq/*
155 Date:           pre-git history
156 Contact:        cpufreq@vger.kernel.org
157 Description:    Discover and change clock speed of CPUs
158
159                 Clock scaling allows you to change the clock speed of the
160                 CPUs on the fly. This is a nice method to save battery
161                 power, because the lower the clock speed, the less power
162                 the CPU consumes.
163
164                 There are many knobs to tweak in this directory.
165
166                 See files in Documentation/cpu-freq/ for more information.
167
168                 In particular, read Documentation/cpu-freq/user-guide.txt
169                 to learn how to control the knobs.
170
171
172 What:      /sys/devices/system/cpu/cpu*/cache/index*/cache_disable_X
173 Date:      August 2008
174 KernelVersion:  2.6.27
175 Contact:        mark.langsdorf@amd.com
176 Description:    These files exist in every cpu's cache index directories.
177                 There are currently 2 cache_disable_# files in each
178                 directory.  Reading from these files on a supported
179                 processor will return that cache disable index value
180                 for that processor and node.  Writing to one of these
181                 files will cause the specificed cache index to be disabled.
182
183                 Currently, only AMD Family 10h Processors support cache index
184                 disable, and only for their L3 caches.  See the BIOS and
185                 Kernel Developer's Guide at
186                 http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/31116-Public-GH-BKDG_3.20_2-4-09.pdf
187                 for formatting information and other details on the
188                 cache index disable.
189 Users:    joachim.deguara@amd.com