diff options
Diffstat (limited to 'Documentation')
33 files changed, 662 insertions, 269 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 8d556707bb68..30b327a116ea 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX | |||
@@ -109,6 +109,8 @@ cpu-hotplug.txt | |||
109 | - document describing CPU hotplug support in the Linux kernel. | 109 | - document describing CPU hotplug support in the Linux kernel. |
110 | cpu-load.txt | 110 | cpu-load.txt |
111 | - document describing how CPU load statistics are collected. | 111 | - document describing how CPU load statistics are collected. |
112 | cpuidle/ | ||
113 | - info on CPU_IDLE, CPU idle state management subsystem. | ||
112 | cpusets.txt | 114 | cpusets.txt |
113 | - documents the cpusets feature; assign CPUs and Mem to a set of tasks. | 115 | - documents the cpusets feature; assign CPUs and Mem to a set of tasks. |
114 | cputopology.txt | 116 | cputopology.txt |
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile index 6a0ad4715e9f..300e1707893f 100644 --- a/Documentation/DocBook/Makefile +++ b/Documentation/DocBook/Makefile | |||
@@ -8,7 +8,7 @@ | |||
8 | 8 | ||
9 | DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \ | 9 | DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \ |
10 | kernel-hacking.xml kernel-locking.xml deviceiobook.xml \ | 10 | kernel-hacking.xml kernel-locking.xml deviceiobook.xml \ |
11 | procfs-guide.xml writing_usb_driver.xml \ | 11 | procfs-guide.xml writing_usb_driver.xml networking.xml \ |
12 | kernel-api.xml filesystems.xml lsm.xml usb.xml \ | 12 | kernel-api.xml filesystems.xml lsm.xml usb.xml \ |
13 | gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \ | 13 | gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \ |
14 | genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml | 14 | genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml |
diff --git a/Documentation/DocBook/filesystems.tmpl b/Documentation/DocBook/filesystems.tmpl index 5eaef87e8f1b..5e87ad58c0b5 100644 --- a/Documentation/DocBook/filesystems.tmpl +++ b/Documentation/DocBook/filesystems.tmpl | |||
@@ -398,4 +398,24 @@ an example. | |||
398 | 398 | ||
399 | </chapter> | 399 | </chapter> |
400 | 400 | ||
401 | <chapter id="splice"> | ||
402 | <title>splice API</title> | ||
403 | <para> | ||
404 | splice is a method for moving blocks of data around inside the | ||
405 | kernel, without continually transferring them between the kernel | ||
406 | and user space. | ||
407 | </para> | ||
408 | !Ffs/splice.c | ||
409 | </chapter> | ||
410 | |||
411 | <chapter id="pipes"> | ||
412 | <title>pipes API</title> | ||
413 | <para> | ||
414 | Pipe interfaces are all for in-kernel (builtin image) use. | ||
415 | They are not exported for use by modules. | ||
416 | </para> | ||
417 | !Iinclude/linux/pipe_fs_i.h | ||
418 | !Ffs/pipe.c | ||
419 | </chapter> | ||
420 | |||
401 | </book> | 421 | </book> |
diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl index 059aaf20951a..f31601e8bd89 100644 --- a/Documentation/DocBook/kernel-api.tmpl +++ b/Documentation/DocBook/kernel-api.tmpl | |||
@@ -204,65 +204,6 @@ X!Ilib/string.c | |||
204 | </sect1> | 204 | </sect1> |
205 | </chapter> | 205 | </chapter> |
206 | 206 | ||
207 | <chapter id="netcore"> | ||
208 | <title>Linux Networking</title> | ||
209 | <sect1><title>Networking Base Types</title> | ||
210 | !Iinclude/linux/net.h | ||
211 | </sect1> | ||
212 | <sect1><title>Socket Buffer Functions</title> | ||
213 | !Iinclude/linux/skbuff.h | ||
214 | !Iinclude/net/sock.h | ||
215 | !Enet/socket.c | ||
216 | !Enet/core/skbuff.c | ||
217 | !Enet/core/sock.c | ||
218 | !Enet/core/datagram.c | ||
219 | !Enet/core/stream.c | ||
220 | </sect1> | ||
221 | <sect1><title>Socket Filter</title> | ||
222 | !Enet/core/filter.c | ||
223 | </sect1> | ||
224 | <sect1><title>Generic Network Statistics</title> | ||
225 | !Iinclude/linux/gen_stats.h | ||
226 | !Enet/core/gen_stats.c | ||
227 | !Enet/core/gen_estimator.c | ||
228 | </sect1> | ||
229 | <sect1><title>SUN RPC subsystem</title> | ||
230 | <!-- The !D functionality is not perfect, garbage has to be protected by comments | ||
231 | !Dnet/sunrpc/sunrpc_syms.c | ||
232 | --> | ||
233 | !Enet/sunrpc/xdr.c | ||
234 | !Enet/sunrpc/svcsock.c | ||
235 | !Enet/sunrpc/sched.c | ||
236 | </sect1> | ||
237 | </chapter> | ||
238 | |||
239 | <chapter id="netdev"> | ||
240 | <title>Network device support</title> | ||
241 | <sect1><title>Driver Support</title> | ||
242 | !Enet/core/dev.c | ||
243 | !Enet/ethernet/eth.c | ||
244 | !Enet/sched/sch_generic.c | ||
245 | !Iinclude/linux/etherdevice.h | ||
246 | !Iinclude/linux/netdevice.h | ||
247 | </sect1> | ||
248 | <sect1><title>PHY Support</title> | ||
249 | !Edrivers/net/phy/phy.c | ||
250 | !Idrivers/net/phy/phy.c | ||
251 | !Edrivers/net/phy/phy_device.c | ||
252 | !Idrivers/net/phy/phy_device.c | ||
253 | !Edrivers/net/phy/mdio_bus.c | ||
254 | !Idrivers/net/phy/mdio_bus.c | ||
255 | </sect1> | ||
256 | <!-- FIXME: Removed for now since no structured comments in source | ||
257 | <sect1><title>Wireless</title> | ||
258 | X!Enet/core/wireless.c | ||
259 | </sect1> | ||
260 | --> | ||
261 | <sect1><title>Synchronous PPP</title> | ||
262 | !Edrivers/net/wan/syncppp.c | ||
263 | </sect1> | ||
264 | </chapter> | ||
265 | |||
266 | <chapter id="modload"> | 207 | <chapter id="modload"> |
267 | <title>Module Support</title> | 208 | <title>Module Support</title> |
268 | <sect1><title>Module Loading</title> | 209 | <sect1><title>Module Loading</title> |
@@ -508,11 +449,6 @@ X!Isound/sound_firmware.c | |||
508 | !Edrivers/serial/8250.c | 449 | !Edrivers/serial/8250.c |
509 | </chapter> | 450 | </chapter> |
510 | 451 | ||
511 | <chapter id="z85230"> | ||
512 | <title>Z85230 Support Library</title> | ||
513 | !Edrivers/net/wan/z85230.c | ||
514 | </chapter> | ||
515 | |||
516 | <chapter id="fbdev"> | 452 | <chapter id="fbdev"> |
517 | <title>Frame Buffer Library</title> | 453 | <title>Frame Buffer Library</title> |
518 | 454 | ||
@@ -712,24 +648,4 @@ X!Idrivers/video/console/fonts.c | |||
712 | !Edrivers/i2c/i2c-core.c | 648 | !Edrivers/i2c/i2c-core.c |
713 | </chapter> | 649 | </chapter> |
714 | 650 | ||
715 | <chapter id="splice"> | ||
716 | <title>splice API</title> | ||
717 | <para> | ||
718 | splice is a method for moving blocks of data around inside the | ||
719 | kernel, without continually transferring them between the kernel | ||
720 | and user space. | ||
721 | </para> | ||
722 | !Ffs/splice.c | ||
723 | </chapter> | ||
724 | |||
725 | <chapter id="pipes"> | ||
726 | <title>pipes API</title> | ||
727 | <para> | ||
728 | Pipe interfaces are all for in-kernel (builtin image) use. | ||
729 | They are not exported for use by modules. | ||
730 | </para> | ||
731 | !Iinclude/linux/pipe_fs_i.h | ||
732 | !Ffs/pipe.c | ||
733 | </chapter> | ||
734 | |||
735 | </book> | 651 | </book> |
diff --git a/Documentation/DocBook/networking.tmpl b/Documentation/DocBook/networking.tmpl new file mode 100644 index 000000000000..f24f9e85e4ae --- /dev/null +++ b/Documentation/DocBook/networking.tmpl | |||
@@ -0,0 +1,106 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" | ||
3 | "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []> | ||
4 | |||
5 | <book id="LinuxNetworking"> | ||
6 | <bookinfo> | ||
7 | <title>Linux Networking and Network Devices APIs</title> | ||
8 | |||
9 | <legalnotice> | ||
10 | <para> | ||
11 | This documentation is free software; you can redistribute | ||
12 | it and/or modify it under the terms of the GNU General Public | ||
13 | License as published by the Free Software Foundation; either | ||
14 | version 2 of the License, or (at your option) any later | ||
15 | version. | ||
16 | </para> | ||
17 | |||
18 | <para> | ||
19 | This program is distributed in the hope that it will be | ||
20 | useful, but WITHOUT ANY WARRANTY; without even the implied | ||
21 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
22 | See the GNU General Public License for more details. | ||
23 | </para> | ||
24 | |||
25 | <para> | ||
26 | You should have received a copy of the GNU General Public | ||
27 | License along with this program; if not, write to the Free | ||
28 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | ||
29 | MA 02111-1307 USA | ||
30 | </para> | ||
31 | |||
32 | <para> | ||
33 | For more details see the file COPYING in the source | ||
34 | distribution of Linux. | ||
35 | </para> | ||
36 | </legalnotice> | ||
37 | </bookinfo> | ||
38 | |||
39 | <toc></toc> | ||
40 | |||
41 | <chapter id="netcore"> | ||
42 | <title>Linux Networking</title> | ||
43 | <sect1><title>Networking Base Types</title> | ||
44 | !Iinclude/linux/net.h | ||
45 | </sect1> | ||
46 | <sect1><title>Socket Buffer Functions</title> | ||
47 | !Iinclude/linux/skbuff.h | ||
48 | !Iinclude/net/sock.h | ||
49 | !Enet/socket.c | ||
50 | !Enet/core/skbuff.c | ||
51 | !Enet/core/sock.c | ||
52 | !Enet/core/datagram.c | ||
53 | !Enet/core/stream.c | ||
54 | </sect1> | ||
55 | <sect1><title>Socket Filter</title> | ||
56 | !Enet/core/filter.c | ||
57 | </sect1> | ||
58 | <sect1><title>Generic Network Statistics</title> | ||
59 | !Iinclude/linux/gen_stats.h | ||
60 | !Enet/core/gen_stats.c | ||
61 | !Enet/core/gen_estimator.c | ||
62 | </sect1> | ||
63 | <sect1><title>SUN RPC subsystem</title> | ||
64 | <!-- The !D functionality is not perfect, garbage has to be protected by comments | ||
65 | !Dnet/sunrpc/sunrpc_syms.c | ||
66 | --> | ||
67 | !Enet/sunrpc/xdr.c | ||
68 | !Enet/sunrpc/svc_xprt.c | ||
69 | !Enet/sunrpc/xprt.c | ||
70 | !Enet/sunrpc/sched.c | ||
71 | !Enet/sunrpc/socklib.c | ||
72 | !Enet/sunrpc/stats.c | ||
73 | !Enet/sunrpc/rpc_pipe.c | ||
74 | !Enet/sunrpc/rpcb_clnt.c | ||
75 | !Enet/sunrpc/clnt.c | ||
76 | </sect1> | ||
77 | </chapter> | ||
78 | |||
79 | <chapter id="netdev"> | ||
80 | <title>Network device support</title> | ||
81 | <sect1><title>Driver Support</title> | ||
82 | !Enet/core/dev.c | ||
83 | !Enet/ethernet/eth.c | ||
84 | !Enet/sched/sch_generic.c | ||
85 | !Iinclude/linux/etherdevice.h | ||
86 | !Iinclude/linux/netdevice.h | ||
87 | </sect1> | ||
88 | <sect1><title>PHY Support</title> | ||
89 | !Edrivers/net/phy/phy.c | ||
90 | !Idrivers/net/phy/phy.c | ||
91 | !Edrivers/net/phy/phy_device.c | ||
92 | !Idrivers/net/phy/phy_device.c | ||
93 | !Edrivers/net/phy/mdio_bus.c | ||
94 | !Idrivers/net/phy/mdio_bus.c | ||
95 | </sect1> | ||
96 | <!-- FIXME: Removed for now since no structured comments in source | ||
97 | <sect1><title>Wireless</title> | ||
98 | X!Enet/core/wireless.c | ||
99 | </sect1> | ||
100 | --> | ||
101 | <sect1><title>Synchronous PPP</title> | ||
102 | !Edrivers/net/wan/syncppp.c | ||
103 | </sect1> | ||
104 | </chapter> | ||
105 | |||
106 | </book> | ||
diff --git a/Documentation/RCU/NMI-RCU.txt b/Documentation/RCU/NMI-RCU.txt index d0634a5c3445..c64158ecde43 100644 --- a/Documentation/RCU/NMI-RCU.txt +++ b/Documentation/RCU/NMI-RCU.txt | |||
@@ -25,7 +25,7 @@ the NMI handler to take the default machine-specific action. | |||
25 | This nmi_callback variable is a global function pointer to the current | 25 | This nmi_callback variable is a global function pointer to the current |
26 | NMI handler. | 26 | NMI handler. |
27 | 27 | ||
28 | fastcall void do_nmi(struct pt_regs * regs, long error_code) | 28 | void do_nmi(struct pt_regs * regs, long error_code) |
29 | { | 29 | { |
30 | int cpu; | 30 | int cpu; |
31 | 31 | ||
diff --git a/Documentation/SubmitChecklist b/Documentation/SubmitChecklist index 34e06d2f194f..da10e0714241 100644 --- a/Documentation/SubmitChecklist +++ b/Documentation/SubmitChecklist | |||
@@ -20,7 +20,11 @@ kernel patches. | |||
20 | 4: ppc64 is a good architecture for cross-compilation checking because it | 20 | 4: ppc64 is a good architecture for cross-compilation checking because it |
21 | tends to use `unsigned long' for 64-bit quantities. | 21 | tends to use `unsigned long' for 64-bit quantities. |
22 | 22 | ||
23 | 5: Matches kernel coding style(!) | 23 | 5: Check your patch for general style as detailed in |
24 | Documentation/CodingStyle. Check for trivial violations with the | ||
25 | patch style checker prior to submission (scripts/checkpatch.pl). | ||
26 | You should be able to justify all violations that remain in | ||
27 | your patch. | ||
24 | 28 | ||
25 | 6: Any new or modified CONFIG options don't muck up the config menu. | 29 | 6: Any new or modified CONFIG options don't muck up the config menu. |
26 | 30 | ||
@@ -79,13 +83,3 @@ kernel patches. | |||
79 | 23: Tested after it has been merged into the -mm patchset to make sure | 83 | 23: Tested after it has been merged into the -mm patchset to make sure |
80 | that it still works with all of the other queued patches and various | 84 | that it still works with all of the other queued patches and various |
81 | changes in the VM, VFS, and other subsystems. | 85 | changes in the VM, VFS, and other subsystems. |
82 | |||
83 | 24: Avoid whitespace damage such as indenting with spaces or whitespace | ||
84 | at the end of lines. You can test this by feeding the patch to | ||
85 | "git apply --check --whitespace=error-all" | ||
86 | |||
87 | 25: Check your patch for general style as detailed in | ||
88 | Documentation/CodingStyle. Check for trivial violations with the | ||
89 | patch style checker prior to submission (scripts/checkpatch.pl). | ||
90 | You should be able to justify all violations that remain in | ||
91 | your patch. | ||
diff --git a/Documentation/atomic_ops.txt b/Documentation/atomic_ops.txt index f20c10c2858f..4ef245010457 100644 --- a/Documentation/atomic_ops.txt +++ b/Documentation/atomic_ops.txt | |||
@@ -186,7 +186,8 @@ If the atomic value v is not equal to u, this function adds a to v, and | |||
186 | returns non zero. If v is equal to u then it returns zero. This is done as | 186 | returns non zero. If v is equal to u then it returns zero. This is done as |
187 | an atomic operation. | 187 | an atomic operation. |
188 | 188 | ||
189 | atomic_add_unless requires explicit memory barriers around the operation. | 189 | atomic_add_unless requires explicit memory barriers around the operation |
190 | unless it fails (returns 0). | ||
190 | 191 | ||
191 | atomic_inc_not_zero, equivalent to atomic_add_unless(v, 1, 0) | 192 | atomic_inc_not_zero, equivalent to atomic_add_unless(v, 1, 0) |
192 | 193 | ||
diff --git a/Documentation/cgroups.txt b/Documentation/cgroups.txt index 42d7c4cb39cd..31d12e21ff8a 100644 --- a/Documentation/cgroups.txt +++ b/Documentation/cgroups.txt | |||
@@ -28,7 +28,7 @@ CONTENTS: | |||
28 | 4. Questions | 28 | 4. Questions |
29 | 29 | ||
30 | 1. Control Groups | 30 | 1. Control Groups |
31 | ========== | 31 | ================= |
32 | 32 | ||
33 | 1.1 What are cgroups ? | 33 | 1.1 What are cgroups ? |
34 | ---------------------- | 34 | ---------------------- |
@@ -143,10 +143,10 @@ proliferation of such cgroups. | |||
143 | 143 | ||
144 | Also lets say that the administrator would like to give enhanced network | 144 | Also lets say that the administrator would like to give enhanced network |
145 | access temporarily to a student's browser (since it is night and the user | 145 | access temporarily to a student's browser (since it is night and the user |
146 | wants to do online gaming :) OR give one of the students simulation | 146 | wants to do online gaming :)) OR give one of the students simulation |
147 | apps enhanced CPU power, | 147 | apps enhanced CPU power, |
148 | 148 | ||
149 | With ability to write pids directly to resource classes, its just a | 149 | With ability to write pids directly to resource classes, it's just a |
150 | matter of : | 150 | matter of : |
151 | 151 | ||
152 | # echo pid > /mnt/network/<new_class>/tasks | 152 | # echo pid > /mnt/network/<new_class>/tasks |
@@ -227,10 +227,13 @@ Each cgroup is represented by a directory in the cgroup file system | |||
227 | containing the following files describing that cgroup: | 227 | containing the following files describing that cgroup: |
228 | 228 | ||
229 | - tasks: list of tasks (by pid) attached to that cgroup | 229 | - tasks: list of tasks (by pid) attached to that cgroup |
230 | - notify_on_release flag: run /sbin/cgroup_release_agent on exit? | 230 | - releasable flag: cgroup currently removeable? |
231 | - notify_on_release flag: run the release agent on exit? | ||
232 | - release_agent: the path to use for release notifications (this file | ||
233 | exists in the top cgroup only) | ||
231 | 234 | ||
232 | Other subsystems such as cpusets may add additional files in each | 235 | Other subsystems such as cpusets may add additional files in each |
233 | cgroup dir | 236 | cgroup dir. |
234 | 237 | ||
235 | New cgroups are created using the mkdir system call or shell | 238 | New cgroups are created using the mkdir system call or shell |
236 | command. The properties of a cgroup, such as its flags, are | 239 | command. The properties of a cgroup, such as its flags, are |
@@ -257,7 +260,7 @@ performance. | |||
257 | To allow access from a cgroup to the css_sets (and hence tasks) | 260 | To allow access from a cgroup to the css_sets (and hence tasks) |
258 | that comprise it, a set of cg_cgroup_link objects form a lattice; | 261 | that comprise it, a set of cg_cgroup_link objects form a lattice; |
259 | each cg_cgroup_link is linked into a list of cg_cgroup_links for | 262 | each cg_cgroup_link is linked into a list of cg_cgroup_links for |
260 | a single cgroup on its cont_link_list field, and a list of | 263 | a single cgroup on its cgrp_link_list field, and a list of |
261 | cg_cgroup_links for a single css_set on its cg_link_list. | 264 | cg_cgroup_links for a single css_set on its cg_link_list. |
262 | 265 | ||
263 | Thus the set of tasks in a cgroup can be listed by iterating over | 266 | Thus the set of tasks in a cgroup can be listed by iterating over |
@@ -271,9 +274,6 @@ for cgroups, with a minimum of additional kernel code. | |||
271 | 1.4 What does notify_on_release do ? | 274 | 1.4 What does notify_on_release do ? |
272 | ------------------------------------ | 275 | ------------------------------------ |
273 | 276 | ||
274 | *** notify_on_release is disabled in the current patch set. It will be | ||
275 | *** reactivated in a future patch in a less-intrusive manner | ||
276 | |||
277 | If the notify_on_release flag is enabled (1) in a cgroup, then | 277 | If the notify_on_release flag is enabled (1) in a cgroup, then |
278 | whenever the last task in the cgroup leaves (exits or attaches to | 278 | whenever the last task in the cgroup leaves (exits or attaches to |
279 | some other cgroup) and the last child cgroup of that cgroup | 279 | some other cgroup) and the last child cgroup of that cgroup |
@@ -360,8 +360,8 @@ Now you want to do something with this cgroup. | |||
360 | 360 | ||
361 | In this directory you can find several files: | 361 | In this directory you can find several files: |
362 | # ls | 362 | # ls |
363 | notify_on_release release_agent tasks | 363 | notify_on_release releasable tasks |
364 | (plus whatever files are added by the attached subsystems) | 364 | (plus whatever files added by the attached subsystems) |
365 | 365 | ||
366 | Now attach your shell to this cgroup: | 366 | Now attach your shell to this cgroup: |
367 | # /bin/echo $$ > tasks | 367 | # /bin/echo $$ > tasks |
@@ -404,19 +404,13 @@ with a subsystem id which will be assigned by the cgroup system. | |||
404 | Other fields in the cgroup_subsys object include: | 404 | Other fields in the cgroup_subsys object include: |
405 | 405 | ||
406 | - subsys_id: a unique array index for the subsystem, indicating which | 406 | - subsys_id: a unique array index for the subsystem, indicating which |
407 | entry in cgroup->subsys[] this subsystem should be | 407 | entry in cgroup->subsys[] this subsystem should be managing. |
408 | managing. Initialized by cgroup_register_subsys(); prior to this | ||
409 | it should be initialized to -1 | ||
410 | 408 | ||
411 | - hierarchy: an index indicating which hierarchy, if any, this | 409 | - name: should be initialized to a unique subsystem name. Should be |
412 | subsystem is currently attached to. If this is -1, then the | 410 | no longer than MAX_CGROUP_TYPE_NAMELEN. |
413 | subsystem is not attached to any hierarchy, and all tasks should be | ||
414 | considered to be members of the subsystem's top_cgroup. It should | ||
415 | be initialized to -1. | ||
416 | 411 | ||
417 | - name: should be initialized to a unique subsystem name prior to | 412 | - early_init: indicate if the subsystem needs early initialization |
418 | calling cgroup_register_subsystem. Should be no longer than | 413 | at system boot. |
419 | MAX_CGROUP_TYPE_NAMELEN | ||
420 | 414 | ||
421 | Each cgroup object created by the system has an array of pointers, | 415 | Each cgroup object created by the system has an array of pointers, |
422 | indexed by subsystem id; this pointer is entirely managed by the | 416 | indexed by subsystem id; this pointer is entirely managed by the |
@@ -434,8 +428,6 @@ situation. | |||
434 | See kernel/cgroup.c for more details. | 428 | See kernel/cgroup.c for more details. |
435 | 429 | ||
436 | Subsystems can take/release the cgroup_mutex via the functions | 430 | Subsystems can take/release the cgroup_mutex via the functions |
437 | cgroup_lock()/cgroup_unlock(), and can | ||
438 | take/release the callback_mutex via the functions | ||
439 | cgroup_lock()/cgroup_unlock(). | 431 | cgroup_lock()/cgroup_unlock(). |
440 | 432 | ||
441 | Accessing a task's cgroup pointer may be done in the following ways: | 433 | Accessing a task's cgroup pointer may be done in the following ways: |
@@ -444,7 +436,7 @@ Accessing a task's cgroup pointer may be done in the following ways: | |||
444 | - inside an rcu_read_lock() section via rcu_dereference() | 436 | - inside an rcu_read_lock() section via rcu_dereference() |
445 | 437 | ||
446 | 3.3 Subsystem API | 438 | 3.3 Subsystem API |
447 | -------------------------- | 439 | ----------------- |
448 | 440 | ||
449 | Each subsystem should: | 441 | Each subsystem should: |
450 | 442 | ||
@@ -455,7 +447,8 @@ Each subsystem may export the following methods. The only mandatory | |||
455 | methods are create/destroy. Any others that are null are presumed to | 447 | methods are create/destroy. Any others that are null are presumed to |
456 | be successful no-ops. | 448 | be successful no-ops. |
457 | 449 | ||
458 | struct cgroup_subsys_state *create(struct cgroup *cont) | 450 | struct cgroup_subsys_state *create(struct cgroup_subsys *ss, |
451 | struct cgroup *cgrp) | ||
459 | (cgroup_mutex held by caller) | 452 | (cgroup_mutex held by caller) |
460 | 453 | ||
461 | Called to create a subsystem state object for a cgroup. The | 454 | Called to create a subsystem state object for a cgroup. The |
@@ -470,7 +463,7 @@ identified by the passed cgroup object having a NULL parent (since | |||
470 | it's the root of the hierarchy) and may be an appropriate place for | 463 | it's the root of the hierarchy) and may be an appropriate place for |
471 | initialization code. | 464 | initialization code. |
472 | 465 | ||
473 | void destroy(struct cgroup *cont) | 466 | void destroy(struct cgroup_subsys *ss, struct cgroup *cgrp) |
474 | (cgroup_mutex held by caller) | 467 | (cgroup_mutex held by caller) |
475 | 468 | ||
476 | The cgroup system is about to destroy the passed cgroup; the subsystem | 469 | The cgroup system is about to destroy the passed cgroup; the subsystem |
@@ -481,7 +474,14 @@ cgroup->parent is still valid. (Note - can also be called for a | |||
481 | newly-created cgroup if an error occurs after this subsystem's | 474 | newly-created cgroup if an error occurs after this subsystem's |
482 | create() method has been called for the new cgroup). | 475 | create() method has been called for the new cgroup). |
483 | 476 | ||
484 | int can_attach(struct cgroup_subsys *ss, struct cgroup *cont, | 477 | void pre_destroy(struct cgroup_subsys *ss, struct cgroup *cgrp); |
478 | (cgroup_mutex held by caller) | ||
479 | |||
480 | Called before checking the reference count on each subsystem. This may | ||
481 | be useful for subsystems which have some extra references even if | ||
482 | there are not tasks in the cgroup. | ||
483 | |||
484 | int can_attach(struct cgroup_subsys *ss, struct cgroup *cgrp, | ||
485 | struct task_struct *task) | 485 | struct task_struct *task) |
486 | (cgroup_mutex held by caller) | 486 | (cgroup_mutex held by caller) |
487 | 487 | ||
@@ -492,8 +492,8 @@ unspecified task can be moved into the cgroup. Note that this isn't | |||
492 | called on a fork. If this method returns 0 (success) then this should | 492 | called on a fork. If this method returns 0 (success) then this should |
493 | remain valid while the caller holds cgroup_mutex. | 493 | remain valid while the caller holds cgroup_mutex. |
494 | 494 | ||
495 | void attach(struct cgroup_subsys *ss, struct cgroup *cont, | 495 | void attach(struct cgroup_subsys *ss, struct cgroup *cgrp, |
496 | struct cgroup *old_cont, struct task_struct *task) | 496 | struct cgroup *old_cgrp, struct task_struct *task) |
497 | 497 | ||
498 | Called after the task has been attached to the cgroup, to allow any | 498 | Called after the task has been attached to the cgroup, to allow any |
499 | post-attachment activity that requires memory allocations or blocking. | 499 | post-attachment activity that requires memory allocations or blocking. |
@@ -505,9 +505,9 @@ registration for all existing tasks. | |||
505 | 505 | ||
506 | void exit(struct cgroup_subsys *ss, struct task_struct *task) | 506 | void exit(struct cgroup_subsys *ss, struct task_struct *task) |
507 | 507 | ||
508 | Called during task exit | 508 | Called during task exit. |
509 | 509 | ||
510 | int populate(struct cgroup_subsys *ss, struct cgroup *cont) | 510 | int populate(struct cgroup_subsys *ss, struct cgroup *cgrp) |
511 | 511 | ||
512 | Called after creation of a cgroup to allow a subsystem to populate | 512 | Called after creation of a cgroup to allow a subsystem to populate |
513 | the cgroup directory with file entries. The subsystem should make | 513 | the cgroup directory with file entries. The subsystem should make |
@@ -516,7 +516,7 @@ include/linux/cgroup.h for details). Note that although this | |||
516 | method can return an error code, the error code is currently not | 516 | method can return an error code, the error code is currently not |
517 | always handled well. | 517 | always handled well. |
518 | 518 | ||
519 | void post_clone(struct cgroup_subsys *ss, struct cgroup *cont) | 519 | void post_clone(struct cgroup_subsys *ss, struct cgroup *cgrp) |
520 | 520 | ||
521 | Called at the end of cgroup_clone() to do any paramater | 521 | Called at the end of cgroup_clone() to do any paramater |
522 | initialization which might be required before a task could attach. For | 522 | initialization which might be required before a task could attach. For |
diff --git a/Documentation/controllers/memory.txt b/Documentation/controllers/memory.txt index b5bbea92a61a..6015347b41e2 100644 --- a/Documentation/controllers/memory.txt +++ b/Documentation/controllers/memory.txt | |||
@@ -170,14 +170,14 @@ NOTE: We can use a suffix (k, K, m, M, g or G) to indicate values in kilo, | |||
170 | mega or gigabytes. | 170 | mega or gigabytes. |
171 | 171 | ||
172 | # cat /cgroups/0/memory.limit_in_bytes | 172 | # cat /cgroups/0/memory.limit_in_bytes |
173 | 4194304 Bytes | 173 | 4194304 |
174 | 174 | ||
175 | NOTE: The interface has now changed to display the usage in bytes | 175 | NOTE: The interface has now changed to display the usage in bytes |
176 | instead of pages | 176 | instead of pages |
177 | 177 | ||
178 | We can check the usage: | 178 | We can check the usage: |
179 | # cat /cgroups/0/memory.usage_in_bytes | 179 | # cat /cgroups/0/memory.usage_in_bytes |
180 | 1216512 Bytes | 180 | 1216512 |
181 | 181 | ||
182 | A successful write to this file does not guarantee a successful set of | 182 | A successful write to this file does not guarantee a successful set of |
183 | this limit to the value written into the file. This can be due to a | 183 | this limit to the value written into the file. This can be due to a |
@@ -187,7 +187,7 @@ this file after a write to guarantee the value committed by the kernel. | |||
187 | 187 | ||
188 | # echo -n 1 > memory.limit_in_bytes | 188 | # echo -n 1 > memory.limit_in_bytes |
189 | # cat memory.limit_in_bytes | 189 | # cat memory.limit_in_bytes |
190 | 4096 Bytes | 190 | 4096 |
191 | 191 | ||
192 | The memory.failcnt field gives the number of times that the cgroup limit was | 192 | The memory.failcnt field gives the number of times that the cgroup limit was |
193 | exceeded. | 193 | exceeded. |
@@ -233,13 +233,6 @@ cgroup might have some charge associated with it, even though all | |||
233 | tasks have migrated away from it. Such charges are automatically dropped at | 233 | tasks have migrated away from it. Such charges are automatically dropped at |
234 | rmdir() if there are no tasks. | 234 | rmdir() if there are no tasks. |
235 | 235 | ||
236 | 4.4 Choosing what to account -- Page Cache (unmapped) vs RSS (mapped)? | ||
237 | |||
238 | The type of memory accounted by the cgroup can be limited to just | ||
239 | mapped pages by writing "1" to memory.control_type field | ||
240 | |||
241 | echo -n 1 > memory.control_type | ||
242 | |||
243 | 5. TODO | 236 | 5. TODO |
244 | 237 | ||
245 | 1. Add support for accounting huge pages (as a separate controller) | 238 | 1. Add support for accounting huge pages (as a separate controller) |
@@ -262,18 +255,19 @@ References | |||
262 | 3. Emelianov, Pavel. Resource controllers based on process cgroups | 255 | 3. Emelianov, Pavel. Resource controllers based on process cgroups |
263 | http://lkml.org/lkml/2007/3/6/198 | 256 | http://lkml.org/lkml/2007/3/6/198 |
264 | 4. Emelianov, Pavel. RSS controller based on process cgroups (v2) | 257 | 4. Emelianov, Pavel. RSS controller based on process cgroups (v2) |
265 | http://lkml.org/lkml/2007/4/9/74 | 258 | http://lkml.org/lkml/2007/4/9/78 |
266 | 5. Emelianov, Pavel. RSS controller based on process cgroups (v3) | 259 | 5. Emelianov, Pavel. RSS controller based on process cgroups (v3) |
267 | http://lkml.org/lkml/2007/5/30/244 | 260 | http://lkml.org/lkml/2007/5/30/244 |
268 | 6. Menage, Paul. Control Groups v10, http://lwn.net/Articles/236032/ | 261 | 6. Menage, Paul. Control Groups v10, http://lwn.net/Articles/236032/ |
269 | 7. Vaidyanathan, Srinivasan, Control Groups: Pagecache accounting and control | 262 | 7. Vaidyanathan, Srinivasan, Control Groups: Pagecache accounting and control |
270 | subsystem (v3), http://lwn.net/Articles/235534/ | 263 | subsystem (v3), http://lwn.net/Articles/235534/ |
271 | 8. Singh, Balbir. RSS controller V2 test results (lmbench), | 264 | 8. Singh, Balbir. RSS controller v2 test results (lmbench), |
272 | http://lkml.org/lkml/2007/5/17/232 | 265 | http://lkml.org/lkml/2007/5/17/232 |
273 | 9. Singh, Balbir. RSS controller V2 AIM9 results | 266 | 9. Singh, Balbir. RSS controller v2 AIM9 results |
274 | http://lkml.org/lkml/2007/5/18/1 | 267 | http://lkml.org/lkml/2007/5/18/1 |
275 | 10. Singh, Balbir. Memory controller v6 results, | 268 | 10. Singh, Balbir. Memory controller v6 test results, |
276 | http://lkml.org/lkml/2007/8/19/36 | 269 | http://lkml.org/lkml/2007/8/19/36 |
277 | 11. Singh, Balbir. Memory controller v6, http://lkml.org/lkml/2007/8/17/69 | 270 | 11. Singh, Balbir. Memory controller introduction (v6), |
271 | http://lkml.org/lkml/2007/8/17/69 | ||
278 | 12. Corbet, Jonathan, Controlling memory use in cgroups, | 272 | 12. Corbet, Jonathan, Controlling memory use in cgroups, |
279 | http://lwn.net/Articles/243795/ | 273 | http://lwn.net/Articles/243795/ |
diff --git a/Documentation/cpuidle/core.txt b/Documentation/cpuidle/core.txt new file mode 100644 index 000000000000..63ecc5dc9d8a --- /dev/null +++ b/Documentation/cpuidle/core.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | |||
2 | Supporting multiple CPU idle levels in kernel | ||
3 | |||
4 | cpuidle | ||
5 | |||
6 | General Information: | ||
7 | |||
8 | Various CPUs today support multiple idle levels that are differentiated | ||
9 | by varying exit latencies and power consumption during idle. | ||
10 | cpuidle is a generic in-kernel infrastructure that separates | ||
11 | idle policy (governor) from idle mechanism (driver) and provides a | ||
12 | standardized infrastructure to support independent development of | ||
13 | governors and drivers. | ||
14 | |||
15 | cpuidle resides under drivers/cpuidle. | ||
16 | |||
17 | Boot options: | ||
18 | "cpuidle_sysfs_switch" | ||
19 | enables current_governor interface in /sys/devices/system/cpu/cpuidle/, | ||
20 | which can be used to switch governors at run time. This boot option | ||
21 | is meant for developer testing only. In normal usage, kernel picks the | ||
22 | best governor based on governor ratings. | ||
23 | SEE ALSO: sysfs.txt in this directory. | ||
diff --git a/Documentation/cpuidle/driver.txt b/Documentation/cpuidle/driver.txt new file mode 100644 index 000000000000..7a9e09ece931 --- /dev/null +++ b/Documentation/cpuidle/driver.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | |||
2 | |||
3 | Supporting multiple CPU idle levels in kernel | ||
4 | |||
5 | cpuidle drivers | ||
6 | |||
7 | |||
8 | |||
9 | |||
10 | cpuidle driver hooks into the cpuidle infrastructure and handles the | ||
11 | architecture/platform dependent part of CPU idle states. Driver | ||
12 | provides the platform idle state detection capability and also | ||
13 | has mechanisms in place to support actual entry-exit into CPU idle states. | ||
14 | |||
15 | cpuidle driver initializes the cpuidle_device structure for each CPU device | ||
16 | and registers with cpuidle using cpuidle_register_device. | ||
17 | |||
18 | It can also support the dynamic changes (like battery <-> AC), by using | ||
19 | cpuidle_pause_and_lock, cpuidle_disable_device and cpuidle_enable_device, | ||
20 | cpuidle_resume_and_unlock. | ||
21 | |||
22 | Interfaces: | ||
23 | extern int cpuidle_register_driver(struct cpuidle_driver *drv); | ||
24 | extern void cpuidle_unregister_driver(struct cpuidle_driver *drv); | ||
25 | extern int cpuidle_register_device(struct cpuidle_device *dev); | ||
26 | extern void cpuidle_unregister_device(struct cpuidle_device *dev); | ||
27 | |||
28 | extern void cpuidle_pause_and_lock(void); | ||
29 | extern void cpuidle_resume_and_unlock(void); | ||
30 | extern int cpuidle_enable_device(struct cpuidle_device *dev); | ||
31 | extern void cpuidle_disable_device(struct cpuidle_device *dev); | ||
diff --git a/Documentation/cpuidle/governor.txt b/Documentation/cpuidle/governor.txt new file mode 100644 index 000000000000..12c6bd50c9f6 --- /dev/null +++ b/Documentation/cpuidle/governor.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | |||
2 | |||
3 | |||
4 | Supporting multiple CPU idle levels in kernel | ||
5 | |||
6 | cpuidle governors | ||
7 | |||
8 | |||
9 | |||
10 | |||
11 | cpuidle governor is policy routine that decides what idle state to enter at | ||
12 | any given time. cpuidle core uses different callbacks to the governor. | ||
13 | |||
14 | * enable() to enable governor for a particular device | ||
15 | * disable() to disable governor for a particular device | ||
16 | * select() to select an idle state to enter | ||
17 | * reflect() called after returning from the idle state, which can be used | ||
18 | by the governor for some record keeping. | ||
19 | |||
20 | More than one governor can be registered at the same time and | ||
21 | users can switch between drivers using /sysfs interface (when enabled). | ||
22 | More than one governor part is supported for developers to easily experiment | ||
23 | with different governors. By default, most optimal governor based on your | ||
24 | kernel configuration and platform will be selected by cpuidle. | ||
25 | |||
26 | Interfaces: | ||
27 | extern int cpuidle_register_governor(struct cpuidle_governor *gov); | ||
28 | extern void cpuidle_unregister_governor(struct cpuidle_governor *gov); | ||
29 | struct cpuidle_governor | ||
diff --git a/Documentation/cpuidle/sysfs.txt b/Documentation/cpuidle/sysfs.txt new file mode 100644 index 000000000000..50d7b1642759 --- /dev/null +++ b/Documentation/cpuidle/sysfs.txt | |||
@@ -0,0 +1,79 @@ | |||
1 | |||
2 | |||
3 | Supporting multiple CPU idle levels in kernel | ||
4 | |||
5 | cpuidle sysfs | ||
6 | |||
7 | System global cpuidle related information and tunables are under | ||
8 | /sys/devices/system/cpu/cpuidle | ||
9 | |||
10 | The current interfaces in this directory has self-explanatory names: | ||
11 | * current_driver | ||
12 | * current_governor_ro | ||
13 | |||
14 | With cpuidle_sysfs_switch boot option (meant for developer testing) | ||
15 | following objects are visible instead. | ||
16 | * current_driver | ||
17 | * available_governors | ||
18 | * current_governor | ||
19 | In this case users can switch the governor at run time by writing | ||
20 | to current_governor. | ||
21 | |||
22 | |||
23 | Per logical CPU specific cpuidle information are under | ||
24 | /sys/devices/system/cpu/cpuX/cpuidle | ||
25 | for each online cpu X | ||
26 | |||
27 | -------------------------------------------------------------------------------- | ||
28 | # ls -lR /sys/devices/system/cpu/cpu0/cpuidle/ | ||
29 | /sys/devices/system/cpu/cpu0/cpuidle/: | ||
30 | total 0 | ||
31 | drwxr-xr-x 2 root root 0 Feb 8 10:42 state0 | ||
32 | drwxr-xr-x 2 root root 0 Feb 8 10:42 state1 | ||
33 | drwxr-xr-x 2 root root 0 Feb 8 10:42 state2 | ||
34 | drwxr-xr-x 2 root root 0 Feb 8 10:42 state3 | ||
35 | |||
36 | /sys/devices/system/cpu/cpu0/cpuidle/state0: | ||
37 | total 0 | ||
38 | -r--r--r-- 1 root root 4096 Feb 8 10:42 desc | ||
39 | -r--r--r-- 1 root root 4096 Feb 8 10:42 latency | ||
40 | -r--r--r-- 1 root root 4096 Feb 8 10:42 name | ||
41 | -r--r--r-- 1 root root 4096 Feb 8 10:42 power | ||
42 | -r--r--r-- 1 root root 4096 Feb 8 10:42 time | ||
43 | -r--r--r-- 1 root root 4096 Feb 8 10:42 usage | ||
44 | |||
45 | /sys/devices/system/cpu/cpu0/cpuidle/state1: | ||
46 | total 0 | ||
47 | -r--r--r-- 1 root root 4096 Feb 8 10:42 desc | ||
48 | -r--r--r-- 1 root root 4096 Feb 8 10:42 latency | ||
49 | -r--r--r-- 1 root root 4096 Feb 8 10:42 name | ||
50 | -r--r--r-- 1 root root 4096 Feb 8 10:42 power | ||
51 | -r--r--r-- 1 root root 4096 Feb 8 10:42 time | ||
52 | -r--r--r-- 1 root root 4096 Feb 8 10:42 usage | ||
53 | |||
54 | /sys/devices/system/cpu/cpu0/cpuidle/state2: | ||
55 | total 0 | ||
56 | -r--r--r-- 1 root root 4096 Feb 8 10:42 desc | ||
57 | -r--r--r-- 1 root root 4096 Feb 8 10:42 latency | ||
58 | -r--r--r-- 1 root root 4096 Feb 8 10:42 name | ||
59 | -r--r--r-- 1 root root 4096 Feb 8 10:42 power | ||
60 | -r--r--r-- 1 root root 4096 Feb 8 10:42 time | ||
61 | -r--r--r-- 1 root root 4096 Feb 8 10:42 usage | ||
62 | |||
63 | /sys/devices/system/cpu/cpu0/cpuidle/state3: | ||
64 | total 0 | ||
65 | -r--r--r-- 1 root root 4096 Feb 8 10:42 desc | ||
66 | -r--r--r-- 1 root root 4096 Feb 8 10:42 latency | ||
67 | -r--r--r-- 1 root root 4096 Feb 8 10:42 name | ||
68 | -r--r--r-- 1 root root 4096 Feb 8 10:42 power | ||
69 | -r--r--r-- 1 root root 4096 Feb 8 10:42 time | ||
70 | -r--r--r-- 1 root root 4096 Feb 8 10:42 usage | ||
71 | -------------------------------------------------------------------------------- | ||
72 | |||
73 | |||
74 | * desc : Small description about the idle state (string) | ||
75 | * latency : Latency to exit out of this idle state (in microseconds) | ||
76 | * name : Name of the idle state (string) | ||
77 | * power : Power consumed while in this idle state (in milliwatts) | ||
78 | * time : Total time spent in this idle state (in microseconds) | ||
79 | * usage : Number of times this state was entered (count) | ||
diff --git a/Documentation/cpusets.txt b/Documentation/cpusets.txt index 43db6fe12814..ad2bb3b3acc1 100644 --- a/Documentation/cpusets.txt +++ b/Documentation/cpusets.txt | |||
@@ -209,7 +209,7 @@ and name space for cpusets, with a minimum of additional kernel code. | |||
209 | The cpus and mems files in the root (top_cpuset) cpuset are | 209 | The cpus and mems files in the root (top_cpuset) cpuset are |
210 | read-only. The cpus file automatically tracks the value of | 210 | read-only. The cpus file automatically tracks the value of |
211 | cpu_online_map using a CPU hotplug notifier, and the mems file | 211 | cpu_online_map using a CPU hotplug notifier, and the mems file |
212 | automatically tracks the value of node_states[N_MEMORY]--i.e., | 212 | automatically tracks the value of node_states[N_HIGH_MEMORY]--i.e., |
213 | nodes with memory--using the cpuset_track_online_nodes() hook. | 213 | nodes with memory--using the cpuset_track_online_nodes() hook. |
214 | 214 | ||
215 | 215 | ||
diff --git a/Documentation/hwmon/adt7473 b/Documentation/hwmon/adt7473 new file mode 100644 index 000000000000..22d8b19046ab --- /dev/null +++ b/Documentation/hwmon/adt7473 | |||
@@ -0,0 +1,79 @@ | |||
1 | Kernel driver adt7473 | ||
2 | ====================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Analog Devices ADT7473 | ||
6 | Prefix: 'adt7473' | ||
7 | Addresses scanned: I2C 0x2C, 0x2D, 0x2E | ||
8 | Datasheet: Publicly available at the Analog Devices website | ||
9 | |||
10 | Author: Darrick J. Wong | ||
11 | |||
12 | Description | ||
13 | ----------- | ||
14 | |||
15 | This driver implements support for the Analog Devices ADT7473 chip family. | ||
16 | |||
17 | The LM85 uses the 2-wire interface compatible with the SMBUS 2.0 | ||
18 | specification. Using an analog to digital converter it measures three (3) | ||
19 | temperatures and two (2) voltages. It has three (3) 16-bit counters for | ||
20 | measuring fan speed. There are three (3) PWM outputs that can be used | ||
21 | to control fan speed. | ||
22 | |||
23 | A sophisticated control system for the PWM outputs is designed into the | ||
24 | LM85 that allows fan speed to be adjusted automatically based on any of the | ||
25 | three temperature sensors. Each PWM output is individually adjustable and | ||
26 | programmable. Once configured, the ADT7473 will adjust the PWM outputs in | ||
27 | response to the measured temperatures without further host intervention. | ||
28 | This feature can also be disabled for manual control of the PWM's. | ||
29 | |||
30 | Each of the measured inputs (voltage, temperature, fan speed) has | ||
31 | corresponding high/low limit values. The ADT7473 will signal an ALARM if | ||
32 | any measured value exceeds either limit. | ||
33 | |||
34 | The ADT7473 samples all inputs continuously. The driver will not read | ||
35 | the registers more often than once every other second. Further, | ||
36 | configuration data is only read once per minute. | ||
37 | |||
38 | Special Features | ||
39 | ---------------- | ||
40 | |||
41 | The ADT7473 have a 10-bit ADC and can therefore measure temperatures | ||
42 | with 0.25 degC resolution. Temperature readings can be configured either | ||
43 | for twos complement format or "Offset 64" format, wherein 63 is subtracted | ||
44 | from the raw value to get the temperature value. | ||
45 | |||
46 | The Analog Devices datasheet is very detailed and describes a procedure for | ||
47 | determining an optimal configuration for the automatic PWM control. | ||
48 | |||
49 | Hardware Configurations | ||
50 | ----------------------- | ||
51 | |||
52 | The ADT7473 chips have an optional SMBALERT output that can be used to | ||
53 | signal the chipset in case a limit is exceeded or the temperature sensors | ||
54 | fail. Individual sensor interrupts can be masked so they won't trigger | ||
55 | SMBALERT. The SMBALERT output if configured replaces the PWM2 function. | ||
56 | |||
57 | Configuration Notes | ||
58 | ------------------- | ||
59 | |||
60 | Besides standard interfaces driver adds the following: | ||
61 | |||
62 | * PWM Control | ||
63 | |||
64 | * pwm#_auto_point1_pwm and pwm#_auto_point1_temp and | ||
65 | * pwm#_auto_point2_pwm and pwm#_auto_point2_temp - | ||
66 | |||
67 | point1: Set the pwm speed at a lower temperature bound. | ||
68 | point2: Set the pwm speed at a higher temperature bound. | ||
69 | |||
70 | The ADT7473 will scale the pwm between the lower and higher pwm speed when | ||
71 | the temperature is between the two temperature boundaries. PWM values range | ||
72 | from 0 (off) to 255 (full speed). | ||
73 | |||
74 | Notes | ||
75 | ----- | ||
76 | |||
77 | The NVIDIA binary driver presents an ADT7473 chip via an on-card i2c bus. | ||
78 | Unfortunately, they fail to set the i2c adapter class, so this driver may | ||
79 | fail to find the chip until the nvidia driver is patched. | ||
diff --git a/Documentation/hwmon/coretemp b/Documentation/hwmon/coretemp index 170bf862437b..dbbe6c7025b0 100644 --- a/Documentation/hwmon/coretemp +++ b/Documentation/hwmon/coretemp | |||
@@ -4,9 +4,10 @@ Kernel driver coretemp | |||
4 | Supported chips: | 4 | Supported chips: |
5 | * All Intel Core family | 5 | * All Intel Core family |
6 | Prefix: 'coretemp' | 6 | Prefix: 'coretemp' |
7 | CPUID: family 0x6, models 0xe, 0xf, 0x16 | 7 | CPUID: family 0x6, models 0xe, 0xf, 0x16, 0x17 |
8 | Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual | 8 | Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual |
9 | Volume 3A: System Programming Guide | 9 | Volume 3A: System Programming Guide |
10 | http://softwarecommunity.intel.com/Wiki/Mobility/720.htm | ||
10 | 11 | ||
11 | Author: Rudolf Marek | 12 | Author: Rudolf Marek |
12 | 13 | ||
@@ -25,7 +26,8 @@ may be raised, if the temperature grows enough (more than TjMax) to trigger | |||
25 | the Out-Of-Spec bit. Following table summarizes the exported sysfs files: | 26 | the Out-Of-Spec bit. Following table summarizes the exported sysfs files: |
26 | 27 | ||
27 | temp1_input - Core temperature (in millidegrees Celsius). | 28 | temp1_input - Core temperature (in millidegrees Celsius). |
28 | temp1_crit - Maximum junction temperature (in millidegrees Celsius). | 29 | temp1_max - All cooling devices should be turned on (on Core2). |
30 | temp1_crit - Maximum junction temperature (in millidegrees Celsius). | ||
29 | temp1_crit_alarm - Set when Out-of-spec bit is set, never clears. | 31 | temp1_crit_alarm - Set when Out-of-spec bit is set, never clears. |
30 | Correct CPU operation is no longer guaranteed. | 32 | Correct CPU operation is no longer guaranteed. |
31 | temp1_label - Contains string "Core X", where X is processor | 33 | temp1_label - Contains string "Core X", where X is processor |
diff --git a/Documentation/i2c/busses/i2c-i801 b/Documentation/i2c/busses/i2c-i801 index 3bd958360159..c31e0291e167 100644 --- a/Documentation/i2c/busses/i2c-i801 +++ b/Documentation/i2c/busses/i2c-i801 | |||
@@ -12,8 +12,9 @@ Supported adapters: | |||
12 | * Intel 82801G (ICH7) | 12 | * Intel 82801G (ICH7) |
13 | * Intel 631xESB/632xESB (ESB2) | 13 | * Intel 631xESB/632xESB (ESB2) |
14 | * Intel 82801H (ICH8) | 14 | * Intel 82801H (ICH8) |
15 | * Intel ICH9 | 15 | * Intel 82801I (ICH9) |
16 | * Intel Tolapai | 16 | * Intel Tolapai |
17 | * Intel ICH10 | ||
17 | Datasheets: Publicly available at the Intel website | 18 | Datasheets: Publicly available at the Intel website |
18 | 19 | ||
19 | Authors: | 20 | Authors: |
diff --git a/Documentation/i386/IO-APIC.txt b/Documentation/i386/IO-APIC.txt index 435e69e6e9aa..f95166645d29 100644 --- a/Documentation/i386/IO-APIC.txt +++ b/Documentation/i386/IO-APIC.txt | |||
@@ -1,12 +1,14 @@ | |||
1 | Most (all) Intel-MP compliant SMP boards have the so-called 'IO-APIC', | 1 | Most (all) Intel-MP compliant SMP boards have the so-called 'IO-APIC', |
2 | which is an enhanced interrupt controller, it enables us to route | 2 | which is an enhanced interrupt controller. It enables us to route |
3 | hardware interrupts to multiple CPUs, or to CPU groups. | 3 | hardware interrupts to multiple CPUs, or to CPU groups. Without an |
4 | IO-APIC, interrupts from hardware will be delivered only to the | ||
5 | CPU which boots the operating system (usually CPU#0). | ||
4 | 6 | ||
5 | Linux supports all variants of compliant SMP boards, including ones with | 7 | Linux supports all variants of compliant SMP boards, including ones with |
6 | multiple IO-APICs. (multiple IO-APICs are used in high-end servers to | 8 | multiple IO-APICs. Multiple IO-APICs are used in high-end servers to |
7 | distribute IRQ load further). | 9 | distribute IRQ load further. |
8 | 10 | ||
9 | There are (a few) known breakages in certain older boards, which bugs are | 11 | There are (a few) known breakages in certain older boards, such bugs are |
10 | usually worked around by the kernel. If your MP-compliant SMP board does | 12 | usually worked around by the kernel. If your MP-compliant SMP board does |
11 | not boot Linux, then consult the linux-smp mailing list archives first. | 13 | not boot Linux, then consult the linux-smp mailing list archives first. |
12 | 14 | ||
@@ -28,18 +30,18 @@ If your box boots fine with enabled IO-APIC IRQs, then your | |||
28 | hell:~> | 30 | hell:~> |
29 | <---------------------------- | 31 | <---------------------------- |
30 | 32 | ||
31 | some interrupts are still listed as 'XT PIC', but this is not a problem, | 33 | Some interrupts are still listed as 'XT PIC', but this is not a problem; |
32 | none of those IRQ sources is performance-critical. | 34 | none of those IRQ sources is performance-critical. |
33 | 35 | ||
34 | 36 | ||
35 | in the unlikely case that your board does not create a working mp-table, | 37 | In the unlikely case that your board does not create a working mp-table, |
36 | you can use the pirq= boot parameter to 'hand-construct' IRQ entries. This | 38 | you can use the pirq= boot parameter to 'hand-construct' IRQ entries. This |
37 | is nontrivial though and cannot be automated. One sample /etc/lilo.conf | 39 | is non-trivial though and cannot be automated. One sample /etc/lilo.conf |
38 | entry: | 40 | entry: |
39 | 41 | ||
40 | append="pirq=15,11,10" | 42 | append="pirq=15,11,10" |
41 | 43 | ||
42 | the actual numbers depend on your system, on your PCI cards and on their | 44 | The actual numbers depend on your system, on your PCI cards and on their |
43 | PCI slot position. Usually PCI slots are 'daisy chained' before they are | 45 | PCI slot position. Usually PCI slots are 'daisy chained' before they are |
44 | connected to the PCI chipset IRQ routing facility (the incoming PIRQ1-4 | 46 | connected to the PCI chipset IRQ routing facility (the incoming PIRQ1-4 |
45 | lines): | 47 | lines): |
@@ -54,7 +56,7 @@ lines): | |||
54 | PIRQ1 ----| |- `----| |- `----| |- `----| |--------| | | 56 | PIRQ1 ----| |- `----| |- `----| |- `----| |--------| | |
55 | `-' `-' `-' `-' `-' | 57 | `-' `-' `-' `-' `-' |
56 | 58 | ||
57 | every PCI card emits a PCI IRQ, which can be INTA,INTB,INTC,INTD: | 59 | Every PCI card emits a PCI IRQ, which can be INTA, INTB, INTC or INTD: |
58 | 60 | ||
59 | ,-. | 61 | ,-. |
60 | INTD--| | | 62 | INTD--| | |
@@ -95,21 +97,21 @@ card (IRQ11) in Slot3, and have Slot1 empty: | |||
95 | [value '0' is a generic 'placeholder', reserved for empty (or non-IRQ emitting) | 97 | [value '0' is a generic 'placeholder', reserved for empty (or non-IRQ emitting) |
96 | slots.] | 98 | slots.] |
97 | 99 | ||
98 | generally, it's always possible to find out the correct pirq= settings, just | 100 | Generally, it's always possible to find out the correct pirq= settings, just |
99 | permute all IRQ numbers properly ... it will take some time though. An | 101 | permute all IRQ numbers properly ... it will take some time though. An |
100 | 'incorrect' pirq line will cause the booting process to hang, or a device | 102 | 'incorrect' pirq line will cause the booting process to hang, or a device |
101 | won't function properly (if it's inserted as eg. a module). | 103 | won't function properly (e.g. if it's inserted as a module). |
102 | 104 | ||
103 | If you have 2 PCI buses, then you can use up to 8 pirq values. Although such | 105 | If you have 2 PCI buses, then you can use up to 8 pirq values, although such |
104 | boards tend to have a good configuration. | 106 | boards tend to have a good configuration. |
105 | 107 | ||
106 | Be prepared that it might happen that you need some strange pirq line: | 108 | Be prepared that it might happen that you need some strange pirq line: |
107 | 109 | ||
108 | append="pirq=0,0,0,0,0,0,9,11" | 110 | append="pirq=0,0,0,0,0,0,9,11" |
109 | 111 | ||
110 | use smart try-and-err techniques to find out the correct pirq line ... | 112 | Use smart trial-and-error techniques to find out the correct pirq line ... |
111 | 113 | ||
112 | good luck and mail to linux-smp@vger.kernel.org or | 114 | Good luck and mail to linux-smp@vger.kernel.org or |
113 | linux-kernel@vger.kernel.org if you have any problems that are not covered | 115 | linux-kernel@vger.kernel.org if you have any problems that are not covered |
114 | by this document. | 116 | by this document. |
115 | 117 | ||
diff --git a/Documentation/ja_JP/stable_kernel_rules.txt b/Documentation/ja_JP/stable_kernel_rules.txt index 17d87519e468..b3ffe870de33 100644 --- a/Documentation/ja_JP/stable_kernel_rules.txt +++ b/Documentation/ja_JP/stable_kernel_rules.txt | |||
@@ -11,69 +11,69 @@ comment or update of this file, please try to update Original(English) | |||
11 | file at first. | 11 | file at first. |
12 | 12 | ||
13 | ================================== | 13 | ================================== |
14 | ã“れã¯〠| 14 | ã“ã‚Œã¯ã€ |
15 | linux-2.6.24/Documentation/stable_kernel_rules.txt | 15 | linux-2.6.24/Documentation/stable_kernel_rules.txt |
16 | ã®和訳ã§ã™。 | 16 | ã®å’Œè¨³ã§ã™ã€‚ |
17 | 17 | ||
18 | 翻訳団体: JF プãƒÂジェクト < http://www.linux.or.jp/JF/ > | 18 | 翻訳団体: JF プãƒã‚¸ã‚§ã‚¯ãƒˆ < http://www.linux.or.jp/JF/ > |
19 | 翻訳日: 2007/12/30 | 19 | 翻訳日: 2007/12/30 |
20 | 翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com> | 20 | 翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com> |
21 | æ ¡æ£者: æ¦井伸光ã•んã€Â<takei at webmasters dot gr dot jp> | 21 | æ ¡æ£è€…: æ¦äº•ä¼¸å…‰ã•ã‚“ã€<takei at webmasters dot gr dot jp> |
22 | ã‹ãÂÂã“ã•ん (Seiji Kaneko) <skaneko at a2 dot mbn dot or dot jp> | 22 | ã‹ãã“ã•ã‚“ (Seiji Kaneko) <skaneko at a2 dot mbn dot or dot jp> |
23 | å°Â林 雅典ã•ん (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp> | 23 | å°æž— é›…å…¸ã•ã‚“ (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp> |
24 | 野å£ã•ん (Kenji Noguchi) <tokyo246 at gmail dot com> | 24 | 野å£ã•ã‚“ (Kenji Noguchi) <tokyo246 at gmail dot com> |
25 | 神宮信太郎ã•ん <jin at libjingu dot jp> | 25 | 神宮信太郎ã•ã‚“ <jin at libjingu dot jp> |
26 | ================================== | 26 | ================================== |
27 | 27 | ||
28 | ãšã£ã¨知りãŸã‹ã£ãŸ Linux 2.6 -stable リリースã®全㦠| 28 | ãšã£ã¨çŸ¥ã‚ŠãŸã‹ã£ãŸ Linux 2.6 -stable リリースã®å…¨ã¦ |
29 | 29 | ||
30 | "-stable" ツリーã«ã©ã®よã†ãª種類ã®パッãƒÂãÂΌÂ—ã‘入れられるã‹ã€Âã©ã®よã†ãª | 30 | "-stable" ツリーã«ã©ã®ã‚ˆã†ãªç¨®é¡žã®ãƒ‘ッãƒãŒå—ã‘入れられるã‹ã€ã©ã®ã‚ˆã†ãª |
31 | もã®ãÂΌÂ—ã‘入れられãªã„ã‹ã€Âã«ã¤ã„ã¦ã®è¦Â則- | 31 | ã‚‚ã®ãŒå—ã‘入れられãªã„ã‹ã€ã«ã¤ã„ã¦ã®è¦å‰‡- |
32 | 32 | ||
33 | - 明らã‹ã«æ£ã—ãÂÂã€Âテストã•れã¦ã„るもã®ã§ãªã‘れã°ãªらãªã„。 | 33 | - 明らã‹ã«æ£ã—ãã€ãƒ†ã‚¹ãƒˆã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã§ãªã‘ã‚Œã°ãªã‚‰ãªã„。 |
34 | - 文脈(変更行ã®å‰Â後)をå«ã‚Â㦠100 行より大ãÂÂãÂÂã¦ã¯ã„ã‘ãªã„。 | 34 | - 文脈(変更行ã®å‰å¾Œ)ã‚’å«ã‚㦠100 行より大ããã¦ã¯ã„ã‘ãªã„。 |
35 | - ãŸã 一個ã®ã“ã¨ã ã‘を修æ£ã—ã¦ã„るã¹ãÂÂ。 | 35 | - ãŸã 一個ã®ã“ã¨ã ã‘ã‚’ä¿®æ£ã—ã¦ã„ã‚‹ã¹ã。 |
36 | - 皆を悩ã¾ãÂ݋¦ã„る本物ã®ãƒÂグを修æ£ã—ãªã‘れã°ãªらãªã„。("ã“れã¯ãƒÂグ㧠| 36 | - 皆を悩ã¾ã›ã¦ã„る本物ã®ãƒã‚°ã‚’ä¿®æ£ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„。("ã“ã‚Œã¯ãƒã‚°ã§ |
37 | ã‚るã‹もã—れãªã„ãÂÂŒ..." ã®よã†ãªもã®ã§ã¯ãªã„) | 37 | ã‚ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ãŒ..." ã®ã‚ˆã†ãªã‚‚ã®ã§ã¯ãªã„) |
38 | - ビルドエラー(CONFIG_BROKENã«ãªã£ã¦ã„るもã®を除ãÂÂ), oops, ãƒÂングã€Âデー | 38 | - ビルドエラー(CONFIG_BROKENã«ãªã£ã¦ã„ã‚‹ã‚‚ã®ã‚’除ã), oops, ãƒãƒ³ã‚°ã€ãƒ‡ãƒ¼ |
39 | タ破壊ã€Âç¾実ã®セã‚Âュリティå•Â題ã€ÂãÂÂã®他 "ã‚ã‚ã€Âã“れã¯ダメã ãÂÂ"ã¨ã„ㆠ| 39 | ã‚¿ç ´å£Šã€ç¾å®Ÿã®ã‚»ã‚ュリティå•é¡Œã€ãã®ä»– "ã‚ã‚ã€ã“ã‚Œã¯ãƒ€ãƒ¡ã ã"ã¨ã„ㆠ|
40 | よã†ãªもã®を修æ£ã—ãªã‘れã°ãªらãªã„。çŸÂãÂÂ言ãˆã°ã€Âé‡Â大ãªå•Â題。 | 40 | よã†ãªã‚‚ã®ã‚’ä¿®æ£ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„。çŸã言ãˆã°ã€é‡å¤§ãªå•é¡Œã€‚ |
41 | - ã©ã®よã†ã«競åˆ状態ãŒ発生ã™るã‹ã®説明も一緒ã«書ã‹れã¦ã„ãªã„é™Âり〠| 41 | - ã©ã®ã‚ˆã†ã«ç«¶åˆçŠ¶æ…‹ãŒç™ºç”Ÿã™ã‚‹ã‹ã®èª¬æ˜Žã‚‚一緒ã«æ›¸ã‹ã‚Œã¦ã„ãªã„é™ã‚Šã€ |
42 | "ç†論的ã«ã¯競åˆ状態ã«ãªる"よã†ãªもã®ã¯ä¸Âå¯。 | 42 | "ç†è«–çš„ã«ã¯ç«¶åˆçŠ¶æ…‹ã«ãªã‚‹"よã†ãªã‚‚ã®ã¯ä¸å¯ã€‚ |
43 | - ã„ã‹ãªる些細ãª修æ£もå«ã‚Âるã“ã¨ã¯ã§ãÂÂãªã„。(スペルã®修æ£ã€Â空白ã®クリー | 43 | - ã„ã‹ãªã‚‹äº›ç´°ãªä¿®æ£ã‚‚å«ã‚ã‚‹ã“ã¨ã¯ã§ããªã„。(スペルã®ä¿®æ£ã€ç©ºç™½ã®ã‚¯ãƒªãƒ¼ |
44 | ンアップãªã©) | 44 | ンアップãªã©) |
45 | - 対応ã™るサブシステムメンテナãÂΌÂ—ã‘入れãŸもã®ã§ãªã‘れã°ãªらãªã„。 | 45 | - 対応ã™ã‚‹ã‚µãƒ–システムメンテナãŒå—ã‘入れãŸã‚‚ã®ã§ãªã‘ã‚Œã°ãªã‚‰ãªã„。 |
46 | - Documentation/SubmittingPatches ã®è¦Â則ã«従ã£ãŸもã®ã§ãªã‘れã°ãªらãªã„。 | 46 | - Documentation/SubmittingPatches ã®è¦å‰‡ã«å¾“ã£ãŸã‚‚ã®ã§ãªã‘ã‚Œã°ãªã‚‰ãªã„。 |
47 | 47 | ||
48 | -stable ツリーã«パッãƒÂをé€Â付ã™る手続ãÂÂ- | 48 | -stable ツリーã«ãƒ‘ッãƒã‚’é€ä»˜ã™ã‚‹æ‰‹ç¶šã- |
49 | 49 | ||
50 | - 上記ã®è¦Â則ã«従ã£ã¦ã„るã‹を確èªÂã—ãŸ後ã«ã€Âstable@kernel.org ã«パッム| 50 | - 上記ã®è¦å‰‡ã«å¾“ã£ã¦ã„ã‚‹ã‹ã‚’確èªã—ãŸå¾Œã«ã€stable@kernel.org ã«ãƒ‘ッム|
51 | をé€Âる。 | 51 | ã‚’é€ã‚‹ã€‚ |
52 | - é€Â信者ã¯パッãƒÂãÂŒã‚Âューã«å—ã‘付ã‘られãŸ際ã«ã¯ ACK をã€Âå´下ã•れãŸ場åˆ | 52 | - é€ä¿¡è€…ã¯ãƒ‘ッãƒãŒã‚ューã«å—ã‘付ã‘られãŸéš›ã«ã¯ ACK ã‚’ã€å´ä¸‹ã•ã‚ŒãŸå ´åˆ |
53 | ã«ã¯ NAK をå—ã‘å–る。ã“ã®åÂÂ応ã¯開発者ãŸã¡ã®スケジュールã«よã£ã¦ã€Â数 | 53 | ã«ã¯ NAK ã‚’å—ã‘å–る。ã“ã®åå¿œã¯é–‹ç™ºè€…ãŸã¡ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ã‚ˆã£ã¦ã€æ•° |
54 | 日ã‹ã‹る場åˆãÂ΋‚る。 | 54 | æ—¥ã‹ã‹ã‚‹å ´åˆãŒã‚る。 |
55 | - もã—å—ã‘å–られãŸらã€ÂパッãƒÂã¯他ã®開発者ãŸã¡ã®レビューã®ãŸã‚Âã« | 55 | - ã‚‚ã—å—ã‘å–られãŸã‚‰ã€ãƒ‘ッãƒã¯ä»–ã®é–‹ç™ºè€…ãŸã¡ã®ãƒ¬ãƒ“ューã®ãŸã‚ã« |
56 | -stable ã‚Âューã«追加ã•れる。 | 56 | -stable ã‚ューã«è¿½åŠ ã•ã‚Œã‚‹ã€‚ |
57 | - セã‚ÂュリティパッãƒÂã¯ã“ã®エイリアス (stable@kernel.org) ã«é€Âられるã¹ | 57 | - ã‚»ã‚ュリティパッãƒã¯ã“ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ (stable@kernel.org) ã«é€ã‚‰ã‚Œã‚‹ã¹ |
58 | ãÂÂã§ã¯ãªãÂÂã€Â代ã‚Âりã« security@kernel.org ã®アドレスã«é€Âられる。 | 58 | ãã§ã¯ãªãã€ä»£ã‚ã‚Šã« security@kernel.org ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã«é€ã‚‰ã‚Œã‚‹ã€‚ |
59 | 59 | ||
60 | レビューサイクル- | 60 | レビューサイクル- |
61 | 61 | ||
62 | - -stable メンテナãŒレビューサイクルを決ã‚Âるã¨ãÂÂã€ÂパッãƒÂã¯レビュー委 | 62 | - -stable メンテナãŒãƒ¬ãƒ“ューサイクルを決ã‚ã‚‹ã¨ãã€ãƒ‘ッãƒã¯ãƒ¬ãƒ“ュー委 |
63 | 員会ã¨パッãƒÂãŒ影響ã™る領域ã®メンテナ(æÂÂ供者ãÂ΋ÂÂã®領域ã®メンテナã§無 | 63 | 員会ã¨ãƒ‘ッãƒãŒå½±éŸ¿ã™ã‚‹é ˜åŸŸã®ãƒ¡ãƒ³ãƒ†ãƒŠ(æ供者ãŒãã®é ˜åŸŸã®ãƒ¡ãƒ³ãƒ†ãƒŠã§ç„¡ |
64 | ã„é™Âり)ã«é€Âられã€Âlinux-kernel メーリングリストã«CCã•れる。 | 64 | ã„é™ã‚Š)ã«é€ã‚‰ã‚Œã€linux-kernel メーリングリストã«CCã•ã‚Œã‚‹ã€‚ |
65 | - レビュー委員会㯠48時間ã®間ã« ACK ã‹ NAK を出ã™。 | 65 | - レビュー委員会㯠48時間ã®é–“ã« ACK ã‹ NAK を出ã™ã€‚ |
66 | - もã—パッãƒÂãŒ委員会ã®メンãƒÂã‹らå´下れるã‹ã€Âメンテナé”やメンãƒÂãŒ気付 | 66 | - ã‚‚ã—パッãƒãŒå§”員会ã®ãƒ¡ãƒ³ãƒã‹ã‚‰å´ä¸‹ã•ã‚Œã‚‹ã‹ã€ãƒ¡ãƒ³ãƒ†ãƒŠé”やメンãƒãŒæ°—付 |
67 | ã‹ãªã‹ã£ãŸå•Â題ãÂŒæŒÂã¡ã‚ãŒりã€Âlinux-kernel メンãƒÂãŒパッãƒÂã«異è°を唱㈠| 67 | ã‹ãªã‹ã£ãŸå•é¡ŒãŒæŒã¡ã‚ãŒã‚Šã€linux-kernel メンãƒãŒãƒ‘ッãƒã«ç•°è°ã‚’唱㈠|
68 | ãŸ場åˆã«ã¯ã€ÂパッãƒÂã¯ã‚Âューã‹ら削除ã•れる。 | 68 | ãŸå ´åˆã«ã¯ã€ãƒ‘ッãƒã¯ã‚ューã‹ã‚‰å‰Šé™¤ã•ã‚Œã‚‹ã€‚ |
69 | - レビューサイクルã®最後ã«ã€ÂACK をå—ã‘ãŸパッãƒÂã¯最新ã® -stable リリー | 69 | - レビューサイクルã®æœ€å¾Œã«ã€ACK ã‚’å—ã‘ãŸãƒ‘ッãƒã¯æœ€æ–°ã® -stable リリー |
70 | スã«追加ã•れã€ÂãÂÂã®後ã«新ã—ã„ -stable リリースãŒ行ã‚Âれる。 | 70 | スã«è¿½åŠ ã•ã‚Œã€ãã®å¾Œã«æ–°ã—ã„ -stable リリースãŒè¡Œã‚れる。 |
71 | - セã‚ÂュリティパッãƒÂã¯ã€Â通常ã®レビューサイクルを通らãšã€Âセã‚Âュリティ | 71 | - ã‚»ã‚ュリティパッãƒã¯ã€é€šå¸¸ã®ãƒ¬ãƒ“ューサイクルを通らãšã€ã‚»ã‚ュリティ |
72 | カーãƒÂルãƒÂームã‹ら直接 -stable ツリーã«å—ã‘付ã‘られる。 | 72 | カーãƒãƒ«ãƒãƒ¼ãƒ ã‹ã‚‰ç›´æŽ¥ -stable ツリーã«å—ã‘付ã‘られる。 |
73 | ã“ã®手続ãÂÂã®詳細ã«ã¤ã„ã¦ã¯ kernel security ãƒÂームã«å•Âã„åˆã‚Âã›るã“ã¨。 | 73 | ã“ã®æ‰‹ç¶šãã®è©³ç´°ã«ã¤ã„ã¦ã¯ kernel security ãƒãƒ¼ãƒ ã«å•ã„åˆã‚ã›ã‚‹ã“ã¨ã€‚ |
74 | 74 | ||
75 | レビュー委員会- | 75 | レビュー委員会- |
76 | 76 | ||
77 | - ã“ã®委員会ã¯ã€Âã“ã®タスクã«ã¤ã„ã¦活動ã™る多ãÂÂã®ボランティアã¨ã€Â少数ã® | 77 | - ã“ã®å§”員会ã¯ã€ã“ã®ã‚¿ã‚¹ã‚¯ã«ã¤ã„ã¦æ´»å‹•ã™ã‚‹å¤šãã®ãƒœãƒ©ãƒ³ãƒ†ã‚£ã‚¢ã¨ã€å°‘æ•°ã® |
78 | éžボランティアã®カーãƒÂル開発者éÂӋ§構æˆÂã•れã¦ã„る。 | 78 | éžãƒœãƒ©ãƒ³ãƒ†ã‚£ã‚¢ã®ã‚«ãƒ¼ãƒãƒ«é–‹ç™ºè€…é”ã§æ§‹æˆã•ã‚Œã¦ã„る。 |
79 | 79 | ||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index a4fc7fc21439..9a5b6658c65e 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -950,6 +950,41 @@ and is between 256 and 4096 characters. It is defined in the file | |||
950 | when set. | 950 | when set. |
951 | Format: <int> | 951 | Format: <int> |
952 | 952 | ||
953 | libata.force= [LIBATA] Force configurations. The format is comma | ||
954 | separated list of "[ID:]VAL" where ID is | ||
955 | PORT[:DEVICE]. PORT and DEVICE are decimal numbers | ||
956 | matching port, link or device. Basically, it matches | ||
957 | the ATA ID string printed on console by libata. If | ||
958 | the whole ID part is omitted, the last PORT and DEVICE | ||
959 | values are used. If ID hasn't been specified yet, the | ||
960 | configuration applies to all ports, links and devices. | ||
961 | |||
962 | If only DEVICE is omitted, the parameter applies to | ||
963 | the port and all links and devices behind it. DEVICE | ||
964 | number of 0 either selects the first device or the | ||
965 | first fan-out link behind PMP device. It does not | ||
966 | select the host link. DEVICE number of 15 selects the | ||
967 | host link and device attached to it. | ||
968 | |||
969 | The VAL specifies the configuration to force. As long | ||
970 | as there's no ambiguity shortcut notation is allowed. | ||
971 | For example, both 1.5 and 1.5G would work for 1.5Gbps. | ||
972 | The following configurations can be forced. | ||
973 | |||
974 | * Cable type: 40c, 80c, short40c, unk, ign or sata. | ||
975 | Any ID with matching PORT is used. | ||
976 | |||
977 | * SATA link speed limit: 1.5Gbps or 3.0Gbps. | ||
978 | |||
979 | * Transfer mode: pio[0-7], mwdma[0-4] and udma[0-7]. | ||
980 | udma[/][16,25,33,44,66,100,133] notation is also | ||
981 | allowed. | ||
982 | |||
983 | * [no]ncq: Turn on or off NCQ. | ||
984 | |||
985 | If there are multiple matching configurations changing | ||
986 | the same attribute, the last one is used. | ||
987 | |||
953 | load_ramdisk= [RAM] List of ramdisks to load from floppy | 988 | load_ramdisk= [RAM] List of ramdisks to load from floppy |
954 | See Documentation/ramdisk.txt. | 989 | See Documentation/ramdisk.txt. |
955 | 990 | ||
@@ -1056,8 +1091,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1056 | [SCSI] Maximum number of LUNs received. | 1091 | [SCSI] Maximum number of LUNs received. |
1057 | Should be between 1 and 16384. | 1092 | Should be between 1 and 16384. |
1058 | 1093 | ||
1059 | mca-pentium [BUGS=X86-32] | ||
1060 | |||
1061 | mcatest= [IA-64] | 1094 | mcatest= [IA-64] |
1062 | 1095 | ||
1063 | mce [X86-32] Machine Check Exception | 1096 | mce [X86-32] Machine Check Exception |
diff --git a/Documentation/kprobes.txt b/Documentation/kprobes.txt index 30c101761d0d..83f515c2905a 100644 --- a/Documentation/kprobes.txt +++ b/Documentation/kprobes.txt | |||
@@ -92,9 +92,8 @@ handler has run. Up to MAX_STACK_SIZE bytes are copied -- e.g., | |||
92 | 64 bytes on i386. | 92 | 64 bytes on i386. |
93 | 93 | ||
94 | Note that the probed function's args may be passed on the stack | 94 | Note that the probed function's args may be passed on the stack |
95 | or in registers (e.g., for x86_64 or for an i386 fastcall function). | 95 | or in registers. The jprobe will work in either case, so long as the |
96 | The jprobe will work in either case, so long as the handler's | 96 | handler's prototype matches that of the probed function. |
97 | prototype matches that of the probed function. | ||
98 | 97 | ||
99 | 1.3 Return Probes | 98 | 1.3 Return Probes |
100 | 99 | ||
@@ -270,9 +269,9 @@ Kprobes runs the handler whose address is jp->entry. | |||
270 | The handler should have the same arg list and return type as the probed | 269 | The handler should have the same arg list and return type as the probed |
271 | function; and just before it returns, it must call jprobe_return(). | 270 | function; and just before it returns, it must call jprobe_return(). |
272 | (The handler never actually returns, since jprobe_return() returns | 271 | (The handler never actually returns, since jprobe_return() returns |
273 | control to Kprobes.) If the probed function is declared asmlinkage, | 272 | control to Kprobes.) If the probed function is declared asmlinkage |
274 | fastcall, or anything else that affects how args are passed, the | 273 | or anything else that affects how args are passed, the handler's |
275 | handler's declaration must match. | 274 | declaration must match. |
276 | 275 | ||
277 | register_jprobe() returns 0 on success, or a negative errno otherwise. | 276 | register_jprobe() returns 0 on success, or a negative errno otherwise. |
278 | 277 | ||
diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt index 6c2477754a2a..76cb428435da 100644 --- a/Documentation/laptops/thinkpad-acpi.txt +++ b/Documentation/laptops/thinkpad-acpi.txt | |||
@@ -160,7 +160,7 @@ Hot keys | |||
160 | procfs: /proc/acpi/ibm/hotkey | 160 | procfs: /proc/acpi/ibm/hotkey |
161 | sysfs device attribute: hotkey_* | 161 | sysfs device attribute: hotkey_* |
162 | 162 | ||
163 | In a ThinkPad, the ACPI HKEY handler is responsible for comunicating | 163 | In a ThinkPad, the ACPI HKEY handler is responsible for communicating |
164 | some important events and also keyboard hot key presses to the operating | 164 | some important events and also keyboard hot key presses to the operating |
165 | system. Enabling the hotkey functionality of thinkpad-acpi signals the | 165 | system. Enabling the hotkey functionality of thinkpad-acpi signals the |
166 | firmware that such a driver is present, and modifies how the ThinkPad | 166 | firmware that such a driver is present, and modifies how the ThinkPad |
@@ -193,7 +193,7 @@ Not all bits in the mask can be modified. Not all bits that can be | |||
193 | modified do anything. Not all hot keys can be individually controlled | 193 | modified do anything. Not all hot keys can be individually controlled |
194 | by the mask. Some models do not support the mask at all, and in those | 194 | by the mask. Some models do not support the mask at all, and in those |
195 | models, hot keys cannot be controlled individually. The behaviour of | 195 | models, hot keys cannot be controlled individually. The behaviour of |
196 | the mask is, therefore, higly dependent on the ThinkPad model. | 196 | the mask is, therefore, highly dependent on the ThinkPad model. |
197 | 197 | ||
198 | Note that unmasking some keys prevents their default behavior. For | 198 | Note that unmasking some keys prevents their default behavior. For |
199 | example, if Fn+F5 is unmasked, that key will no longer enable/disable | 199 | example, if Fn+F5 is unmasked, that key will no longer enable/disable |
@@ -288,7 +288,7 @@ sysfs notes: | |||
288 | in ACPI event mode, volume up/down/mute are reported as | 288 | in ACPI event mode, volume up/down/mute are reported as |
289 | separate events, but this behaviour may be corrected in | 289 | separate events, but this behaviour may be corrected in |
290 | future releases of this driver, in which case the | 290 | future releases of this driver, in which case the |
291 | ThinkPad volume mixer user interface semanthics will be | 291 | ThinkPad volume mixer user interface semantics will be |
292 | enforced. | 292 | enforced. |
293 | 293 | ||
294 | hotkey_poll_freq: | 294 | hotkey_poll_freq: |
@@ -306,13 +306,20 @@ sysfs notes: | |||
306 | The recommended polling frequency is 10Hz. | 306 | The recommended polling frequency is 10Hz. |
307 | 307 | ||
308 | hotkey_radio_sw: | 308 | hotkey_radio_sw: |
309 | if the ThinkPad has a hardware radio switch, this | 309 | If the ThinkPad has a hardware radio switch, this |
310 | attribute will read 0 if the switch is in the "radios | 310 | attribute will read 0 if the switch is in the "radios |
311 | disabled" postition, and 1 if the switch is in the | 311 | disabled" position, and 1 if the switch is in the |
312 | "radios enabled" position. | 312 | "radios enabled" position. |
313 | 313 | ||
314 | This attribute has poll()/select() support. | 314 | This attribute has poll()/select() support. |
315 | 315 | ||
316 | hotkey_tablet_mode: | ||
317 | If the ThinkPad has tablet capabilities, this attribute | ||
318 | will read 0 if the ThinkPad is in normal mode, and | ||
319 | 1 if the ThinkPad is in tablet mode. | ||
320 | |||
321 | This attribute has poll()/select() support. | ||
322 | |||
316 | hotkey_report_mode: | 323 | hotkey_report_mode: |
317 | Returns the state of the procfs ACPI event report mode | 324 | Returns the state of the procfs ACPI event report mode |
318 | filter for hot keys. If it is set to 1 (the default), | 325 | filter for hot keys. If it is set to 1 (the default), |
@@ -339,7 +346,7 @@ sysfs notes: | |||
339 | wakeup_hotunplug_complete: | 346 | wakeup_hotunplug_complete: |
340 | Set to 1 if the system was waken up because of an | 347 | Set to 1 if the system was waken up because of an |
341 | undock or bay ejection request, and that request | 348 | undock or bay ejection request, and that request |
342 | was sucessfully completed. At this point, it might | 349 | was successfully completed. At this point, it might |
343 | be useful to send the system back to sleep, at the | 350 | be useful to send the system back to sleep, at the |
344 | user's choice. Refer to HKEY events 0x4003 and | 351 | user's choice. Refer to HKEY events 0x4003 and |
345 | 0x3003, below. | 352 | 0x3003, below. |
@@ -392,7 +399,7 @@ event code Key Notes | |||
392 | Lenovo: battery | 399 | Lenovo: battery |
393 | 400 | ||
394 | 0x1004 0x03 FN+F4 Sleep button (ACPI sleep button | 401 | 0x1004 0x03 FN+F4 Sleep button (ACPI sleep button |
395 | semanthics, i.e. sleep-to-RAM). | 402 | semantics, i.e. sleep-to-RAM). |
396 | It is always generate some kind | 403 | It is always generate some kind |
397 | of event, either the hot key | 404 | of event, either the hot key |
398 | event or a ACPI sleep button | 405 | event or a ACPI sleep button |
@@ -403,12 +410,12 @@ event code Key Notes | |||
403 | time passes. | 410 | time passes. |
404 | 411 | ||
405 | 0x1005 0x04 FN+F5 Radio. Enables/disables | 412 | 0x1005 0x04 FN+F5 Radio. Enables/disables |
406 | the internal BlueTooth hardware | 413 | the internal Bluetooth hardware |
407 | and W-WAN card if left in control | 414 | and W-WAN card if left in control |
408 | of the firmware. Does not affect | 415 | of the firmware. Does not affect |
409 | the WLAN card. | 416 | the WLAN card. |
410 | Should be used to turn on/off all | 417 | Should be used to turn on/off all |
411 | radios (bluetooth+W-WAN+WLAN), | 418 | radios (Bluetooth+W-WAN+WLAN), |
412 | really. | 419 | really. |
413 | 420 | ||
414 | 0x1006 0x05 FN+F6 - | 421 | 0x1006 0x05 FN+F6 - |
@@ -417,7 +424,7 @@ event code Key Notes | |||
417 | Do you feel lucky today? | 424 | Do you feel lucky today? |
418 | 425 | ||
419 | 0x1008 0x07 FN+F8 IBM: toggle screen expand | 426 | 0x1008 0x07 FN+F8 IBM: toggle screen expand |
420 | Lenovo: configure ultranav | 427 | Lenovo: configure UltraNav |
421 | 428 | ||
422 | 0x1009 0x08 FN+F9 - | 429 | 0x1009 0x08 FN+F9 - |
423 | .. .. .. | 430 | .. .. .. |
@@ -447,7 +454,7 @@ event code Key Notes | |||
447 | 0x1011 0x10 FN+END Brightness down. See brightness | 454 | 0x1011 0x10 FN+END Brightness down. See brightness |
448 | up for details. | 455 | up for details. |
449 | 456 | ||
450 | 0x1012 0x11 FN+PGUP Thinklight toggle. This key is | 457 | 0x1012 0x11 FN+PGUP ThinkLight toggle. This key is |
451 | always handled by the firmware, | 458 | always handled by the firmware, |
452 | even when unmasked. | 459 | even when unmasked. |
453 | 460 | ||
@@ -469,7 +476,7 @@ event code Key Notes | |||
469 | key is always handled by the | 476 | key is always handled by the |
470 | firmware, even when unmasked. | 477 | firmware, even when unmasked. |
471 | 478 | ||
472 | 0x1018 0x17 THINKPAD Thinkpad/Access IBM/Lenovo key | 479 | 0x1018 0x17 THINKPAD ThinkPad/Access IBM/Lenovo key |
473 | 480 | ||
474 | 0x1019 0x18 unknown | 481 | 0x1019 0x18 unknown |
475 | .. .. .. | 482 | .. .. .. |
@@ -488,9 +495,17 @@ If a key is mapped to KEY_UNKNOWN, it generates an input event that | |||
488 | includes an scan code. If a key is mapped to anything else, it will | 495 | includes an scan code. If a key is mapped to anything else, it will |
489 | generate input device EV_KEY events. | 496 | generate input device EV_KEY events. |
490 | 497 | ||
498 | In addition to the EV_KEY events, thinkpad-acpi may also issue EV_SW | ||
499 | events for switches: | ||
500 | |||
501 | SW_RADIO T60 and later hardare rfkill rocker switch | ||
502 | SW_TABLET_MODE Tablet ThinkPads HKEY events 0x5009 and 0x500A | ||
503 | |||
491 | Non hot-key ACPI HKEY event map: | 504 | Non hot-key ACPI HKEY event map: |
492 | 0x5001 Lid closed | 505 | 0x5001 Lid closed |
493 | 0x5002 Lid opened | 506 | 0x5002 Lid opened |
507 | 0x5009 Tablet swivel: switched to tablet mode | ||
508 | 0x500A Tablet swivel: switched to normal mode | ||
494 | 0x7000 Radio Switch may have changed state | 509 | 0x7000 Radio Switch may have changed state |
495 | 510 | ||
496 | The above events are not propagated by the driver, except for legacy | 511 | The above events are not propagated by the driver, except for legacy |
@@ -505,9 +520,7 @@ The above events are never propagated by the driver. | |||
505 | 520 | ||
506 | 0x3003 Bay ejection (see 0x2x05) complete, can sleep again | 521 | 0x3003 Bay ejection (see 0x2x05) complete, can sleep again |
507 | 0x4003 Undocked (see 0x2x04), can sleep again | 522 | 0x4003 Undocked (see 0x2x04), can sleep again |
508 | 0x5009 Tablet swivel: switched to tablet mode | 523 | 0x500B Tablet pen inserted into its storage bay |
509 | 0x500A Tablet swivel: switched to normal mode | ||
510 | 0x500B Tablet pen insterted into its storage bay | ||
511 | 0x500C Tablet pen removed from its storage bay | 524 | 0x500C Tablet pen removed from its storage bay |
512 | 0x5010 Brightness level changed (newer Lenovo BIOSes) | 525 | 0x5010 Brightness level changed (newer Lenovo BIOSes) |
513 | 526 | ||
@@ -539,7 +552,7 @@ sysfs (it is read-only). | |||
539 | If the hotkey_report_mode module parameter is set to 1 or 2, it cannot | 552 | If the hotkey_report_mode module parameter is set to 1 or 2, it cannot |
540 | be changed later through sysfs (any writes will return -EPERM to signal | 553 | be changed later through sysfs (any writes will return -EPERM to signal |
541 | that hotkey_report_mode was locked. On 2.6.23 and later, where | 554 | that hotkey_report_mode was locked. On 2.6.23 and later, where |
542 | hotkey_report_mode cannot be changed at all, writes will return -EACES). | 555 | hotkey_report_mode cannot be changed at all, writes will return -EACCES). |
543 | 556 | ||
544 | hotkey_report_mode set to 1 makes the driver export through the procfs | 557 | hotkey_report_mode set to 1 makes the driver export through the procfs |
545 | ACPI event interface all hot key presses (which are *also* sent to the | 558 | ACPI event interface all hot key presses (which are *also* sent to the |
@@ -584,7 +597,7 @@ Sysfs notes: | |||
584 | 0: disables Bluetooth / Bluetooth is disabled | 597 | 0: disables Bluetooth / Bluetooth is disabled |
585 | 1: enables Bluetooth / Bluetooth is enabled. | 598 | 1: enables Bluetooth / Bluetooth is enabled. |
586 | 599 | ||
587 | Note: this interface will be probably be superseeded by the | 600 | Note: this interface will be probably be superseded by the |
588 | generic rfkill class, so it is NOT to be considered stable yet. | 601 | generic rfkill class, so it is NOT to be considered stable yet. |
589 | 602 | ||
590 | Video output control -- /proc/acpi/ibm/video | 603 | Video output control -- /proc/acpi/ibm/video |
@@ -791,12 +804,12 @@ on the X40 (tpb is the ThinkPad Buttons utility): | |||
791 | 1 - Related to "Volume up" key press | 804 | 1 - Related to "Volume up" key press |
792 | 2 - Related to "Mute on" key press | 805 | 2 - Related to "Mute on" key press |
793 | 3 - Related to "Access IBM" key press | 806 | 3 - Related to "Access IBM" key press |
794 | 4 - Related to "LCD brightness up" key pess | 807 | 4 - Related to "LCD brightness up" key press |
795 | 5 - Related to "LCD brightness down" key press | 808 | 5 - Related to "LCD brightness down" key press |
796 | 11 - Related to "toggle screen expansion" key press/function | 809 | 11 - Related to "toggle screen expansion" key press/function |
797 | 12 - Related to "ThinkLight on" | 810 | 12 - Related to "ThinkLight on" |
798 | 13 - Related to "ThinkLight off" | 811 | 13 - Related to "ThinkLight off" |
799 | 14 - Related to "ThinkLight" key press (toggle thinklight) | 812 | 14 - Related to "ThinkLight" key press (toggle ThinkLight) |
800 | 813 | ||
801 | The cmos command interface is prone to firmware split-brain problems, as | 814 | The cmos command interface is prone to firmware split-brain problems, as |
802 | in newer ThinkPads it is just a compatibility layer. Do not use it, it is | 815 | in newer ThinkPads it is just a compatibility layer. Do not use it, it is |
@@ -1024,7 +1037,7 @@ There are two interfaces to the firmware for direct brightness control, | |||
1024 | EC and CMOS. To select which one should be used, use the | 1037 | EC and CMOS. To select which one should be used, use the |
1025 | brightness_mode module parameter: brightness_mode=1 selects EC mode, | 1038 | brightness_mode module parameter: brightness_mode=1 selects EC mode, |
1026 | brightness_mode=2 selects CMOS mode, brightness_mode=3 selects both EC | 1039 | brightness_mode=2 selects CMOS mode, brightness_mode=3 selects both EC |
1027 | and CMOS. The driver tries to autodetect which interface to use. | 1040 | and CMOS. The driver tries to auto-detect which interface to use. |
1028 | 1041 | ||
1029 | When display backlight brightness controls are available through the | 1042 | When display backlight brightness controls are available through the |
1030 | standard ACPI interface, it is best to use it instead of this direct | 1043 | standard ACPI interface, it is best to use it instead of this direct |
@@ -1266,8 +1279,8 @@ experimental=1 parameter when loading the module. | |||
1266 | This feature shows the presence and current state of a W-WAN (Sierra | 1279 | This feature shows the presence and current state of a W-WAN (Sierra |
1267 | Wireless EV-DO) device. | 1280 | Wireless EV-DO) device. |
1268 | 1281 | ||
1269 | It was tested on a Lenovo Thinkpad X60. It should probably work on other | 1282 | It was tested on a Lenovo ThinkPad X60. It should probably work on other |
1270 | Thinkpad models which come with this module installed. | 1283 | ThinkPad models which come with this module installed. |
1271 | 1284 | ||
1272 | Procfs notes: | 1285 | Procfs notes: |
1273 | 1286 | ||
@@ -1286,7 +1299,7 @@ Sysfs notes: | |||
1286 | 0: disables WWAN card / WWAN card is disabled | 1299 | 0: disables WWAN card / WWAN card is disabled |
1287 | 1: enables WWAN card / WWAN card is enabled. | 1300 | 1: enables WWAN card / WWAN card is enabled. |
1288 | 1301 | ||
1289 | Note: this interface will be probably be superseeded by the | 1302 | Note: this interface will be probably be superseded by the |
1290 | generic rfkill class, so it is NOT to be considered stable yet. | 1303 | generic rfkill class, so it is NOT to be considered stable yet. |
1291 | 1304 | ||
1292 | Multiple Commands, Module Parameters | 1305 | Multiple Commands, Module Parameters |
@@ -1309,7 +1322,7 @@ Enabling debugging output | |||
1309 | The module takes a debug parameter which can be used to selectively | 1322 | The module takes a debug parameter which can be used to selectively |
1310 | enable various classes of debugging output, for example: | 1323 | enable various classes of debugging output, for example: |
1311 | 1324 | ||
1312 | modprobe ibm_acpi debug=0xffff | 1325 | modprobe thinkpad_acpi debug=0xffff |
1313 | 1326 | ||
1314 | will enable all debugging output classes. It takes a bitmask, so | 1327 | will enable all debugging output classes. It takes a bitmask, so |
1315 | to enable more than one output class, just add their values. | 1328 | to enable more than one output class, just add their values. |
@@ -1356,7 +1369,7 @@ Sysfs interface changelog: | |||
1356 | NVRAM is compiled out by the user because it is | 1369 | NVRAM is compiled out by the user because it is |
1357 | unneeded/undesired in the first place). | 1370 | unneeded/undesired in the first place). |
1358 | 0x020101: Marker for thinkpad-acpi with hot key NVRAM polling | 1371 | 0x020101: Marker for thinkpad-acpi with hot key NVRAM polling |
1359 | and proper hotkey_mask semanthics (version 8 of the | 1372 | and proper hotkey_mask semantics (version 8 of the |
1360 | NVRAM polling patch). Some development snapshots of | 1373 | NVRAM polling patch). Some development snapshots of |
1361 | 0.18 had an earlier version that did strange things | 1374 | 0.18 had an earlier version that did strange things |
1362 | to hotkey_mask. | 1375 | to hotkey_mask. |
diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt index 4e17beba2379..1f506f7830ec 100644 --- a/Documentation/memory-barriers.txt +++ b/Documentation/memory-barriers.txt | |||
@@ -1493,7 +1493,7 @@ explicit lock operations, described later). These include: | |||
1493 | atomic_dec_and_test(); | 1493 | atomic_dec_and_test(); |
1494 | atomic_sub_and_test(); | 1494 | atomic_sub_and_test(); |
1495 | atomic_add_negative(); | 1495 | atomic_add_negative(); |
1496 | atomic_add_unless(); | 1496 | atomic_add_unless(); /* when succeeds (returns 1) */ |
1497 | test_and_set_bit(); | 1497 | test_and_set_bit(); |
1498 | test_and_clear_bit(); | 1498 | test_and_clear_bit(); |
1499 | test_and_change_bit(); | 1499 | test_and_change_bit(); |
diff --git a/Documentation/networking/tcp.txt b/Documentation/networking/tcp.txt index 0121edc3ba06..7d11bb5dc30a 100644 --- a/Documentation/networking/tcp.txt +++ b/Documentation/networking/tcp.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | TCP protocol | 1 | TCP protocol |
2 | ============ | 2 | ============ |
3 | 3 | ||
4 | Last updated: 21 June 2005 | 4 | Last updated: 9 February 2008 |
5 | 5 | ||
6 | Contents | 6 | Contents |
7 | ======== | 7 | ======== |
@@ -52,9 +52,9 @@ research and RFC's before developing new modules. | |||
52 | The method that is used to determine which congestion control mechanism is | 52 | The method that is used to determine which congestion control mechanism is |
53 | determined by the setting of the sysctl net.ipv4.tcp_congestion_control. | 53 | determined by the setting of the sysctl net.ipv4.tcp_congestion_control. |
54 | The default congestion control will be the last one registered (LIFO); | 54 | The default congestion control will be the last one registered (LIFO); |
55 | so if you built everything as modules. the default will be reno. If you | 55 | so if you built everything as modules, the default will be reno. If you |
56 | build with the default's from Kconfig, then BIC will be builtin (not a module) | 56 | build with the defaults from Kconfig, then CUBIC will be builtin (not a |
57 | and it will end up the default. | 57 | module) and it will end up the default. |
58 | 58 | ||
59 | If you really want a particular default value then you will need | 59 | If you really want a particular default value then you will need |
60 | to set it with the sysctl. If you use a sysctl, the module will be autoloaded | 60 | to set it with the sysctl. If you use a sysctl, the module will be autoloaded |
diff --git a/Documentation/power/devices.txt b/Documentation/power/devices.txt index c53d26361919..461e4f1dbec4 100644 --- a/Documentation/power/devices.txt +++ b/Documentation/power/devices.txt | |||
@@ -310,9 +310,12 @@ used with suspend-to-disk: | |||
310 | PM_EVENT_SUSPEND -- quiesce the driver and put hardware into a low-power | 310 | PM_EVENT_SUSPEND -- quiesce the driver and put hardware into a low-power |
311 | state. When used with system sleep states like "suspend-to-RAM" or | 311 | state. When used with system sleep states like "suspend-to-RAM" or |
312 | "standby", the upcoming resume() call will often be able to rely on | 312 | "standby", the upcoming resume() call will often be able to rely on |
313 | state kept in hardware, or issue system wakeup events. When used | 313 | state kept in hardware, or issue system wakeup events. |
314 | instead with suspend-to-disk, few devices support this capability; | 314 | |
315 | most are completely powered off. | 315 | PM_EVENT_HIBERNATE -- Put hardware into a low-power state and enable wakeup |
316 | events as appropriate. It is only used with hibernation | ||
317 | (suspend-to-disk) and few devices are able to wake up the system from | ||
318 | this state; most are completely powered off. | ||
316 | 319 | ||
317 | PM_EVENT_FREEZE -- quiesce the driver, but don't necessarily change into | 320 | PM_EVENT_FREEZE -- quiesce the driver, but don't necessarily change into |
318 | any low power mode. A system snapshot is about to be taken, often | 321 | any low power mode. A system snapshot is about to be taken, often |
@@ -329,8 +332,8 @@ used with suspend-to-disk: | |||
329 | wakeup events nor DMA are allowed. | 332 | wakeup events nor DMA are allowed. |
330 | 333 | ||
331 | To enter "standby" (ACPI S1) or "Suspend to RAM" (STR, ACPI S3) states, or | 334 | To enter "standby" (ACPI S1) or "Suspend to RAM" (STR, ACPI S3) states, or |
332 | the similarly named APM states, only PM_EVENT_SUSPEND is used; for "Suspend | 335 | the similarly named APM states, only PM_EVENT_SUSPEND is used; the other event |
333 | to Disk" (STD, hibernate, ACPI S4), all of those event codes are used. | 336 | codes are used for hibernation ("Suspend to Disk", STD, ACPI S4). |
334 | 337 | ||
335 | There's also PM_EVENT_ON, a value which never appears as a suspend event | 338 | There's also PM_EVENT_ON, a value which never appears as a suspend event |
336 | but is sometimes used to record the "not suspended" device state. | 339 | but is sometimes used to record the "not suspended" device state. |
diff --git a/Documentation/sched-rt-group.txt b/Documentation/sched-rt-group.txt new file mode 100644 index 000000000000..1c6332f4543c --- /dev/null +++ b/Documentation/sched-rt-group.txt | |||
@@ -0,0 +1,59 @@ | |||
1 | |||
2 | |||
3 | Real-Time group scheduling. | ||
4 | |||
5 | The problem space: | ||
6 | |||
7 | In order to schedule multiple groups of realtime tasks each group must | ||
8 | be assigned a fixed portion of the CPU time available. Without a minimum | ||
9 | guarantee a realtime group can obviously fall short. A fuzzy upper limit | ||
10 | is of no use since it cannot be relied upon. Which leaves us with just | ||
11 | the single fixed portion. | ||
12 | |||
13 | CPU time is divided by means of specifying how much time can be spent | ||
14 | running in a given period. Say a frame fixed realtime renderer must | ||
15 | deliver 25 frames a second, which yields a period of 0.04s. Now say | ||
16 | it will also have to play some music and respond to input, leaving it | ||
17 | with around 80% for the graphics. We can then give this group a runtime | ||
18 | of 0.8 * 0.04s = 0.032s. | ||
19 | |||
20 | This way the graphics group will have a 0.04s period with a 0.032s runtime | ||
21 | limit. | ||
22 | |||
23 | Now if the audio thread needs to refill the DMA buffer every 0.005s, but | ||
24 | needs only about 3% CPU time to do so, it can do with a 0.03 * 0.005s | ||
25 | = 0.00015s. | ||
26 | |||
27 | |||
28 | The Interface: | ||
29 | |||
30 | system wide: | ||
31 | |||
32 | /proc/sys/kernel/sched_rt_period_ms | ||
33 | /proc/sys/kernel/sched_rt_runtime_us | ||
34 | |||
35 | CONFIG_FAIR_USER_SCHED | ||
36 | |||
37 | /sys/kernel/uids/<uid>/cpu_rt_runtime_us | ||
38 | |||
39 | or | ||
40 | |||
41 | CONFIG_FAIR_CGROUP_SCHED | ||
42 | |||
43 | /cgroup/<cgroup>/cpu.rt_runtime_us | ||
44 | |||
45 | [ time is specified in us because the interface is s32; this gives an | ||
46 | operating range of ~35m to 1us ] | ||
47 | |||
48 | The period takes values in [ 1, INT_MAX ], runtime in [ -1, INT_MAX - 1 ]. | ||
49 | |||
50 | A runtime of -1 specifies runtime == period, ie. no limit. | ||
51 | |||
52 | New groups get the period from /proc/sys/kernel/sched_rt_period_us and | ||
53 | a runtime of 0. | ||
54 | |||
55 | Settings are constrained to: | ||
56 | |||
57 | \Sum_{i} runtime_{i} / global_period <= global_runtime / global_period | ||
58 | |||
59 | in order to keep the configuration schedulable. | ||
diff --git a/Documentation/stable_kernel_rules.txt b/Documentation/stable_kernel_rules.txt index c815c5206e84..4cfc78835bc1 100644 --- a/Documentation/stable_kernel_rules.txt +++ b/Documentation/stable_kernel_rules.txt | |||
@@ -16,8 +16,9 @@ Rules on what kind of patches are accepted, and which ones are not, into the | |||
16 | race can be exploited is also provided. | 16 | race can be exploited is also provided. |
17 | - It cannot contain any "trivial" fixes in it (spelling changes, | 17 | - It cannot contain any "trivial" fixes in it (spelling changes, |
18 | whitespace cleanups, etc). | 18 | whitespace cleanups, etc). |
19 | - It must be accepted by the relevant subsystem maintainer. | ||
20 | - It must follow the Documentation/SubmittingPatches rules. | 19 | - It must follow the Documentation/SubmittingPatches rules. |
20 | - It or an equivalent fix must already exist in Linus' tree. Quote the | ||
21 | respective commit ID in Linus' tree in your patch submission to -stable. | ||
21 | 22 | ||
22 | 23 | ||
23 | Procedure for submitting patches to the -stable tree: | 24 | Procedure for submitting patches to the -stable tree: |
@@ -28,7 +29,9 @@ Procedure for submitting patches to the -stable tree: | |||
28 | queue, or a NAK if the patch is rejected. This response might take a few | 29 | queue, or a NAK if the patch is rejected. This response might take a few |
29 | days, according to the developer's schedules. | 30 | days, according to the developer's schedules. |
30 | - If accepted, the patch will be added to the -stable queue, for review by | 31 | - If accepted, the patch will be added to the -stable queue, for review by |
31 | other developers. | 32 | other developers and by the relevant subsystem maintainer. |
33 | - If the stable@kernel.org address is added to a patch, when it goes into | ||
34 | Linus's tree it will automatically be emailed to the stable team. | ||
32 | - Security patches should not be sent to this alias, but instead to the | 35 | - Security patches should not be sent to this alias, but instead to the |
33 | documented security@kernel.org address. | 36 | documented security@kernel.org address. |
34 | 37 | ||
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt index dc8801d4e944..276a7e637822 100644 --- a/Documentation/sysctl/kernel.txt +++ b/Documentation/sysctl/kernel.txt | |||
@@ -29,7 +29,7 @@ show up in /proc/sys/kernel: | |||
29 | - java-interpreter [ binfmt_java, obsolete ] | 29 | - java-interpreter [ binfmt_java, obsolete ] |
30 | - kstack_depth_to_print [ X86 only ] | 30 | - kstack_depth_to_print [ X86 only ] |
31 | - l2cr [ PPC only ] | 31 | - l2cr [ PPC only ] |
32 | - modprobe ==> Documentation/kmod.txt | 32 | - modprobe ==> Documentation/debugging-modules.txt |
33 | - msgmax | 33 | - msgmax |
34 | - msgmnb | 34 | - msgmnb |
35 | - msgmni | 35 | - msgmni |
diff --git a/Documentation/video4linux/CARDLIST.em28xx b/Documentation/video4linux/CARDLIST.em28xx index 6a8469f2bcae..f40e09296f30 100644 --- a/Documentation/video4linux/CARDLIST.em28xx +++ b/Documentation/video4linux/CARDLIST.em28xx | |||
@@ -8,7 +8,7 @@ | |||
8 | 7 -> Leadtek Winfast USB II (em2800) | 8 | 7 -> Leadtek Winfast USB II (em2800) |
9 | 8 -> Kworld USB2800 (em2800) | 9 | 8 -> Kworld USB2800 (em2800) |
10 | 9 -> Pinnacle Dazzle DVC 90/DVC 100 (em2820/em2840) [2304:0207,2304:021a] | 10 | 9 -> Pinnacle Dazzle DVC 90/DVC 100 (em2820/em2840) [2304:0207,2304:021a] |
11 | 10 -> Hauppauge WinTV HVR 900 (em2880) [2040:6500] | 11 | 10 -> Hauppauge WinTV HVR 900 (em2880) [2040:6500,2040:6502] |
12 | 11 -> Terratec Hybrid XS (em2880) [0ccd:0042] | 12 | 11 -> Terratec Hybrid XS (em2880) [0ccd:0042] |
13 | 12 -> Kworld PVR TV 2800 RF (em2820/em2840) | 13 | 12 -> Kworld PVR TV 2800 RF (em2820/em2840) |
14 | 13 -> Terratec Prodigy XS (em2880) [0ccd:0047] | 14 | 13 -> Terratec Prodigy XS (em2880) [0ccd:0047] |
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index 5d3b6b4d2515..0424901ebc78 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -92,9 +92,9 @@ | |||
92 | 91 -> AVerMedia A169 B [1461:7360] | 92 | 91 -> AVerMedia A169 B [1461:7360] |
93 | 92 -> AVerMedia A169 B1 [1461:6360] | 93 | 92 -> AVerMedia A169 B1 [1461:6360] |
94 | 93 -> Medion 7134 Bridge #2 [16be:0005] | 94 | 93 -> Medion 7134 Bridge #2 [16be:0005] |
95 | 94 -> LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB [5168:3306,5168:3502,4e42:3502] | 95 | 94 -> LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB [5168:3306,5168:3502,5168:3307,4e42:3502] |
96 | 95 -> LifeView FlyVIDEO3000 (NTSC) [5169:0138] | 96 | 95 -> LifeView FlyVIDEO3000 (NTSC) [5169:0138] |
97 | 96 -> Medion Md8800 Quadro [16be:0007,16be:0008] | 97 | 96 -> Medion Md8800 Quadro [16be:0007,16be:0008,16be:000d] |
98 | 97 -> LifeView FlyDVB-S /Acorp TV134DS [5168:0300,4e42:0300] | 98 | 97 -> LifeView FlyDVB-S /Acorp TV134DS [5168:0300,4e42:0300] |
99 | 98 -> Proteus Pro 2309 [0919:2003] | 99 | 98 -> Proteus Pro 2309 [0919:2003] |
100 | 99 -> AVerMedia TV Hybrid A16AR [1461:2c00] | 100 | 99 -> AVerMedia TV Hybrid A16AR [1461:2c00] |
@@ -129,3 +129,5 @@ | |||
129 | 128 -> Beholder BeholdTV Columbus TVFM [0000:5201] | 129 | 128 -> Beholder BeholdTV Columbus TVFM [0000:5201] |
130 | 129 -> Beholder BeholdTV 607 / BeholdTV 609 [5ace:6070,5ace:6071,5ace:6072,5ace:6073,5ace:6090,5ace:6091,5ace:6092,5ace:6093] | 130 | 129 -> Beholder BeholdTV 607 / BeholdTV 609 [5ace:6070,5ace:6071,5ace:6072,5ace:6073,5ace:6090,5ace:6091,5ace:6092,5ace:6093] |
131 | 130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193] | 131 | 130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193] |
132 | 131 -> Twinhan Hybrid DTV-DVB 3056 PCI [1822:0022] | ||
133 | 132 -> Genius TVGO AM11MCE | ||
diff --git a/Documentation/video4linux/zr364xx.txt b/Documentation/video4linux/zr364xx.txt index 4d9a0c33f2fd..5c81e3ae6458 100644 --- a/Documentation/video4linux/zr364xx.txt +++ b/Documentation/video4linux/zr364xx.txt | |||
@@ -25,7 +25,7 @@ modprobe zr364xx debug=X mode=Y | |||
25 | - debug : set to 1 to enable verbose debug messages | 25 | - debug : set to 1 to enable verbose debug messages |
26 | - mode : 0 = 320x240, 1 = 160x120, 2 = 640x480 | 26 | - mode : 0 = 320x240, 1 = 160x120, 2 = 640x480 |
27 | You can then use the camera with V4L2 compatible applications, for example Ekiga. | 27 | You can then use the camera with V4L2 compatible applications, for example Ekiga. |
28 | To capture a single image, try this: dd if=/dev/video0 of=test.jpg bs=1 count=1 | 28 | To capture a single image, try this: dd if=/dev/video0 of=test.jpg bs=1M count=1 |
29 | 29 | ||
30 | links : | 30 | links : |
31 | http://mxhaard.free.fr/ (support for many others cams including some Aiptek PocketDV) | 31 | http://mxhaard.free.fr/ (support for many others cams including some Aiptek PocketDV) |
@@ -63,3 +63,5 @@ Vendor Product Distributor Model | |||
63 | 0x06d6 0x0034 Trust Powerc@m 750 | 63 | 0x06d6 0x0034 Trust Powerc@m 750 |
64 | 0x0a17 0x0062 Pentax Optio 50L | 64 | 0x0a17 0x0062 Pentax Optio 50L |
65 | 0x06d6 0x003b Trust Powerc@m 970Z | 65 | 0x06d6 0x003b Trust Powerc@m 970Z |
66 | 0x0a17 0x004e Pentax Optio 50 | ||
67 | 0x041e 0x405d Creative DiVi CAM 516 | ||
diff --git a/Documentation/vm/slabinfo.c b/Documentation/vm/slabinfo.c index 7123fee708ca..22d7e3e4d60c 100644 --- a/Documentation/vm/slabinfo.c +++ b/Documentation/vm/slabinfo.c | |||
@@ -1123,7 +1123,7 @@ void read_slab_dir(void) | |||
1123 | char *t; | 1123 | char *t; |
1124 | int count; | 1124 | int count; |
1125 | 1125 | ||
1126 | if (chdir("/sys/kernel/slab")) | 1126 | if (chdir("/sys/kernel/slab") && chdir("/sys/slab")) |
1127 | fatal("SYSFS support for SLUB not active\n"); | 1127 | fatal("SYSFS support for SLUB not active\n"); |
1128 | 1128 | ||
1129 | dir = opendir("."); | 1129 | dir = opendir("."); |