diff options
Diffstat (limited to 'Documentation')
27 files changed, 209 insertions, 73 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 5b5aba404aac..73060819ed99 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX | |||
@@ -251,8 +251,6 @@ mono.txt | |||
251 | - how to execute Mono-based .NET binaries with the help of BINFMT_MISC. | 251 | - how to execute Mono-based .NET binaries with the help of BINFMT_MISC. |
252 | moxa-smartio | 252 | moxa-smartio |
253 | - file with info on installing/using Moxa multiport serial driver. | 253 | - file with info on installing/using Moxa multiport serial driver. |
254 | mtrr.txt | ||
255 | - how to use PPro Memory Type Range Registers to increase performance. | ||
256 | mutex-design.txt | 254 | mutex-design.txt |
257 | - info on the generic mutex subsystem. | 255 | - info on the generic mutex subsystem. |
258 | namespaces/ | 256 | namespaces/ |
diff --git a/Documentation/ABI/testing/sysfs-firmware-sgi_uv b/Documentation/ABI/testing/sysfs-firmware-sgi_uv new file mode 100644 index 000000000000..4573fd4b7876 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-firmware-sgi_uv | |||
@@ -0,0 +1,27 @@ | |||
1 | What: /sys/firmware/sgi_uv/ | ||
2 | Date: August 2008 | ||
3 | Contact: Russ Anderson <rja@sgi.com> | ||
4 | Description: | ||
5 | The /sys/firmware/sgi_uv directory contains information | ||
6 | about the SGI UV platform. | ||
7 | |||
8 | Under that directory are a number of files: | ||
9 | |||
10 | partition_id | ||
11 | coherence_id | ||
12 | |||
13 | The partition_id entry contains the partition id. | ||
14 | SGI UV systems can be partitioned into multiple physical | ||
15 | machines, which each partition running a unique copy | ||
16 | of the operating system. Each partition will have a unique | ||
17 | partition id. To display the partition id, use the command: | ||
18 | |||
19 | cat /sys/firmware/sgi_uv/partition_id | ||
20 | |||
21 | The coherence_id entry contains the coherence id. | ||
22 | A partitioned SGI UV system can have one or more coherence | ||
23 | domain. The coherence id indicates which coherence domain | ||
24 | this partition is in. To display the coherence id, use the | ||
25 | command: | ||
26 | |||
27 | cat /sys/firmware/sgi_uv/coherence_id | ||
diff --git a/Documentation/ABI/testing/sysfs-gpio b/Documentation/ABI/testing/sysfs-gpio new file mode 100644 index 000000000000..8aab8092ad35 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-gpio | |||
@@ -0,0 +1,26 @@ | |||
1 | What: /sys/class/gpio/ | ||
2 | Date: July 2008 | ||
3 | KernelVersion: 2.6.27 | ||
4 | Contact: David Brownell <dbrownell@users.sourceforge.net> | ||
5 | Description: | ||
6 | |||
7 | As a Kconfig option, individual GPIO signals may be accessed from | ||
8 | userspace. GPIOs are only made available to userspace by an explicit | ||
9 | "export" operation. If a given GPIO is not claimed for use by | ||
10 | kernel code, it may be exported by userspace (and unexported later). | ||
11 | Kernel code may export it for complete or partial access. | ||
12 | |||
13 | GPIOs are identified as they are inside the kernel, using integers in | ||
14 | the range 0..INT_MAX. See Documentation/gpio.txt for more information. | ||
15 | |||
16 | /sys/class/gpio | ||
17 | /export ... asks the kernel to export a GPIO to userspace | ||
18 | /unexport ... to return a GPIO to the kernel | ||
19 | /gpioN ... for each exported GPIO #N | ||
20 | /value ... always readable, writes fail for input GPIOs | ||
21 | /direction ... r/w as: in, out (default low); write: high, low | ||
22 | /gpiochipN ... for each gpiochip; #N is its first GPIO | ||
23 | /base ... (r/o) same as N | ||
24 | /label ... (r/o) descriptive, not necessarily unique | ||
25 | /ngpio ... (r/o) number of GPIOs; numbered N to N + (ngpio - 1) | ||
26 | |||
diff --git a/Documentation/DMA-mapping.txt b/Documentation/DMA-mapping.txt index b463ecd0c7ce..c74fec8c2351 100644 --- a/Documentation/DMA-mapping.txt +++ b/Documentation/DMA-mapping.txt | |||
@@ -740,7 +740,7 @@ failure can be determined by: | |||
740 | dma_addr_t dma_handle; | 740 | dma_addr_t dma_handle; |
741 | 741 | ||
742 | dma_handle = pci_map_single(pdev, addr, size, direction); | 742 | dma_handle = pci_map_single(pdev, addr, size, direction); |
743 | if (pci_dma_mapping_error(dma_handle)) { | 743 | if (pci_dma_mapping_error(pdev, dma_handle)) { |
744 | /* | 744 | /* |
745 | * reduce current DMA mapping usage, | 745 | * reduce current DMA mapping usage, |
746 | * delay and try again later or | 746 | * delay and try again later or |
diff --git a/Documentation/HOWTO b/Documentation/HOWTO index c2371c5a98f9..48a3955f05fc 100644 --- a/Documentation/HOWTO +++ b/Documentation/HOWTO | |||
@@ -77,7 +77,8 @@ documentation files are also added which explain how to use the feature. | |||
77 | When a kernel change causes the interface that the kernel exposes to | 77 | When a kernel change causes the interface that the kernel exposes to |
78 | userspace to change, it is recommended that you send the information or | 78 | userspace to change, it is recommended that you send the information or |
79 | a patch to the manual pages explaining the change to the manual pages | 79 | a patch to the manual pages explaining the change to the manual pages |
80 | maintainer at mtk.manpages@gmail.com. | 80 | maintainer at mtk.manpages@gmail.com, and CC the list |
81 | linux-api@vger.kernel.org. | ||
81 | 82 | ||
82 | Here is a list of files that are in the kernel source tree that are | 83 | Here is a list of files that are in the kernel source tree that are |
83 | required reading: | 84 | required reading: |
diff --git a/Documentation/SubmitChecklist b/Documentation/SubmitChecklist index da10e0714241..21f0795af20f 100644 --- a/Documentation/SubmitChecklist +++ b/Documentation/SubmitChecklist | |||
@@ -67,6 +67,8 @@ kernel patches. | |||
67 | 67 | ||
68 | 19: All new userspace interfaces are documented in Documentation/ABI/. | 68 | 19: All new userspace interfaces are documented in Documentation/ABI/. |
69 | See Documentation/ABI/README for more information. | 69 | See Documentation/ABI/README for more information. |
70 | Patches that change userspace interfaces should be CCed to | ||
71 | linux-api@vger.kernel.org. | ||
70 | 72 | ||
71 | 20: Check that it all passes `make headers_check'. | 73 | 20: Check that it all passes `make headers_check'. |
72 | 74 | ||
diff --git a/Documentation/cpusets.txt b/Documentation/cpusets.txt index 1f5a924d1e56..47e568a9370a 100644 --- a/Documentation/cpusets.txt +++ b/Documentation/cpusets.txt | |||
@@ -635,14 +635,16 @@ prior 'mems' setting, will not be moved. | |||
635 | 635 | ||
636 | There is an exception to the above. If hotplug functionality is used | 636 | There is an exception to the above. If hotplug functionality is used |
637 | to remove all the CPUs that are currently assigned to a cpuset, | 637 | to remove all the CPUs that are currently assigned to a cpuset, |
638 | then the kernel will automatically update the cpus_allowed of all | 638 | then all the tasks in that cpuset will be moved to the nearest ancestor |
639 | tasks attached to CPUs in that cpuset to allow all CPUs. When memory | 639 | with non-empty cpus. But the moving of some (or all) tasks might fail if |
640 | hotplug functionality for removing Memory Nodes is available, a | 640 | cpuset is bound with another cgroup subsystem which has some restrictions |
641 | similar exception is expected to apply there as well. In general, | 641 | on task attaching. In this failing case, those tasks will stay |
642 | the kernel prefers to violate cpuset placement, over starving a task | 642 | in the original cpuset, and the kernel will automatically update |
643 | that has had all its allowed CPUs or Memory Nodes taken offline. User | 643 | their cpus_allowed to allow all online CPUs. When memory hotplug |
644 | code should reconfigure cpusets to only refer to online CPUs and Memory | 644 | functionality for removing Memory Nodes is available, a similar exception |
645 | Nodes when using hotplug to add or remove such resources. | 645 | is expected to apply there as well. In general, the kernel prefers to |
646 | violate cpuset placement, over starving a task that has had all | ||
647 | its allowed CPUs or Memory Nodes taken offline. | ||
646 | 648 | ||
647 | There is a second exception to the above. GFP_ATOMIC requests are | 649 | There is a second exception to the above. GFP_ATOMIC requests are |
648 | kernel internal allocations that must be satisfied, immediately. | 650 | kernel internal allocations that must be satisfied, immediately. |
diff --git a/Documentation/dontdiff b/Documentation/dontdiff index 881e6dd03aea..27809357da58 100644 --- a/Documentation/dontdiff +++ b/Documentation/dontdiff | |||
@@ -5,6 +5,8 @@ | |||
5 | *.css | 5 | *.css |
6 | *.dvi | 6 | *.dvi |
7 | *.eps | 7 | *.eps |
8 | *.fw.gen.S | ||
9 | *.fw | ||
8 | *.gif | 10 | *.gif |
9 | *.grep | 11 | *.grep |
10 | *.grp | 12 | *.grp |
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index eb1a47b97427..83c88cae1eda 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -322,3 +322,11 @@ Why: Accounting can now be enabled/disabled without kernel recompilation. | |||
322 | controlled by a kernel/module/sysfs/sysctl parameter. | 322 | controlled by a kernel/module/sysfs/sysctl parameter. |
323 | Who: Krzysztof Piotr Oledzki <ole@ans.pl> | 323 | Who: Krzysztof Piotr Oledzki <ole@ans.pl> |
324 | 324 | ||
325 | --------------------------- | ||
326 | |||
327 | What: ide-scsi (BLK_DEV_IDESCSI) | ||
328 | When: 2.6.29 | ||
329 | Why: The 2.6 kernel supports direct writing to ide CD drives, which | ||
330 | eliminates the need for ide-scsi. The new method is more | ||
331 | efficient in every way. | ||
332 | Who: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | ||
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index 680fb566b928..8362860e21a7 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
@@ -144,8 +144,8 @@ prototypes: | |||
144 | void (*kill_sb) (struct super_block *); | 144 | void (*kill_sb) (struct super_block *); |
145 | locking rules: | 145 | locking rules: |
146 | may block BKL | 146 | may block BKL |
147 | get_sb yes yes | 147 | get_sb yes no |
148 | kill_sb yes yes | 148 | kill_sb yes no |
149 | 149 | ||
150 | ->get_sb() returns error or 0 with locked superblock attached to the vfsmount | 150 | ->get_sb() returns error or 0 with locked superblock attached to the vfsmount |
151 | (exclusive on ->s_umount). | 151 | (exclusive on ->s_umount). |
@@ -409,12 +409,12 @@ ioctl: yes (see below) | |||
409 | unlocked_ioctl: no (see below) | 409 | unlocked_ioctl: no (see below) |
410 | compat_ioctl: no | 410 | compat_ioctl: no |
411 | mmap: no | 411 | mmap: no |
412 | open: maybe (see below) | 412 | open: no |
413 | flush: no | 413 | flush: no |
414 | release: no | 414 | release: no |
415 | fsync: no (see below) | 415 | fsync: no (see below) |
416 | aio_fsync: no | 416 | aio_fsync: no |
417 | fasync: yes (see below) | 417 | fasync: no |
418 | lock: yes | 418 | lock: yes |
419 | readv: no | 419 | readv: no |
420 | writev: no | 420 | writev: no |
@@ -431,13 +431,6 @@ For many filesystems, it is probably safe to acquire the inode | |||
431 | semaphore. Note some filesystems (i.e. remote ones) provide no | 431 | semaphore. Note some filesystems (i.e. remote ones) provide no |
432 | protection for i_size so you will need to use the BKL. | 432 | protection for i_size so you will need to use the BKL. |
433 | 433 | ||
434 | ->open() locking is in-transit: big lock partially moved into the methods. | ||
435 | The only exception is ->open() in the instances of file_operations that never | ||
436 | end up in ->i_fop/->proc_fops, i.e. ones that belong to character devices | ||
437 | (chrdev_open() takes lock before replacing ->f_op and calling the secondary | ||
438 | method. As soon as we fix the handling of module reference counters all | ||
439 | instances of ->open() will be called without the BKL. | ||
440 | |||
441 | Note: ext2_release() was *the* source of contention on fs-intensive | 434 | Note: ext2_release() was *the* source of contention on fs-intensive |
442 | loads and dropping BKL on ->release() helps to get rid of that (we still | 435 | loads and dropping BKL on ->release() helps to get rid of that (we still |
443 | grab BKL for cases when we close a file that had been opened r/w, but that | 436 | grab BKL for cases when we close a file that had been opened r/w, but that |
diff --git a/Documentation/filesystems/ntfs.txt b/Documentation/filesystems/ntfs.txt index e79ee2db183a..ac2a261c5f7d 100644 --- a/Documentation/filesystems/ntfs.txt +++ b/Documentation/filesystems/ntfs.txt | |||
@@ -40,7 +40,7 @@ Web site | |||
40 | ======== | 40 | ======== |
41 | 41 | ||
42 | There is plenty of additional information on the linux-ntfs web site | 42 | There is plenty of additional information on the linux-ntfs web site |
43 | at http://linux-ntfs.sourceforge.net/ | 43 | at http://www.linux-ntfs.org/ |
44 | 44 | ||
45 | The web site has a lot of additional information, such as a comprehensive | 45 | The web site has a lot of additional information, such as a comprehensive |
46 | FAQ, documentation on the NTFS on-disk format, information on the Linux-NTFS | 46 | FAQ, documentation on the NTFS on-disk format, information on the Linux-NTFS |
@@ -272,7 +272,7 @@ And you would know that /dev/hda2 has a size of 37768814 - 4209030 + 1 = | |||
272 | For Win2k and later dynamic disks, you can for example use the ldminfo utility | 272 | For Win2k and later dynamic disks, you can for example use the ldminfo utility |
273 | which is part of the Linux LDM tools (the latest version at the time of | 273 | which is part of the Linux LDM tools (the latest version at the time of |
274 | writing is linux-ldm-0.0.8.tar.bz2). You can download it from: | 274 | writing is linux-ldm-0.0.8.tar.bz2). You can download it from: |
275 | http://linux-ntfs.sourceforge.net/downloads.html | 275 | http://www.linux-ntfs.org/ |
276 | Simply extract the downloaded archive (tar xvjf linux-ldm-0.0.8.tar.bz2), go | 276 | Simply extract the downloaded archive (tar xvjf linux-ldm-0.0.8.tar.bz2), go |
277 | into it (cd linux-ldm-0.0.8) and change to the test directory (cd test). You | 277 | into it (cd linux-ldm-0.0.8) and change to the test directory (cd test). You |
278 | will find the precompiled (i386) ldminfo utility there. NOTE: You will not be | 278 | will find the precompiled (i386) ldminfo utility there. NOTE: You will not be |
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 64557821ee59..f566ad9bcb7b 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt | |||
@@ -1339,6 +1339,25 @@ Enables/Disables the protection of the per-process proc entries "maps" and | |||
1339 | "smaps". When enabled, the contents of these files are visible only to | 1339 | "smaps". When enabled, the contents of these files are visible only to |
1340 | readers that are allowed to ptrace() the given process. | 1340 | readers that are allowed to ptrace() the given process. |
1341 | 1341 | ||
1342 | msgmni | ||
1343 | ------ | ||
1344 | |||
1345 | Maximum number of message queue ids on the system. | ||
1346 | This value scales to the amount of lowmem. It is automatically recomputed | ||
1347 | upon memory add/remove or ipc namespace creation/removal. | ||
1348 | When a value is written into this file, msgmni's value becomes fixed, i.e. it | ||
1349 | is not recomputed anymore when one of the above events occurs. | ||
1350 | Use auto_msgmni to change this behavior. | ||
1351 | |||
1352 | auto_msgmni | ||
1353 | ----------- | ||
1354 | |||
1355 | Enables/Disables automatic recomputing of msgmni upon memory add/remove or | ||
1356 | upon ipc namespace creation/removal (see the msgmni description above). | ||
1357 | Echoing "1" into this file enables msgmni automatic recomputing. | ||
1358 | Echoing "0" turns it off. | ||
1359 | auto_msgmni default value is 1. | ||
1360 | |||
1342 | 1361 | ||
1343 | 2.4 /proc/sys/vm - The virtual memory subsystem | 1362 | 2.4 /proc/sys/vm - The virtual memory subsystem |
1344 | ----------------------------------------------- | 1363 | ----------------------------------------------- |
@@ -2394,6 +2413,8 @@ The following 4 memory types are supported: | |||
2394 | - (bit 1) anonymous shared memory | 2413 | - (bit 1) anonymous shared memory |
2395 | - (bit 2) file-backed private memory | 2414 | - (bit 2) file-backed private memory |
2396 | - (bit 3) file-backed shared memory | 2415 | - (bit 3) file-backed shared memory |
2416 | - (bit 4) ELF header pages in file-backed private memory areas (it is | ||
2417 | effective only if the bit 2 is cleared) | ||
2397 | 2418 | ||
2398 | Note that MMIO pages such as frame buffer are never dumped and vDSO pages | 2419 | Note that MMIO pages such as frame buffer are never dumped and vDSO pages |
2399 | are always dumped regardless of the bitmask status. | 2420 | are always dumped regardless of the bitmask status. |
diff --git a/Documentation/ioctl/cdrom.txt b/Documentation/ioctl/cdrom.txt index 62d4af44ec4a..59df81c8da2b 100644 --- a/Documentation/ioctl/cdrom.txt +++ b/Documentation/ioctl/cdrom.txt | |||
@@ -271,14 +271,14 @@ CDROMCLOSETRAY pendant of CDROMEJECT | |||
271 | 271 | ||
272 | usage: | 272 | usage: |
273 | 273 | ||
274 | ioctl(fd, CDROMEJECT, 0); | 274 | ioctl(fd, CDROMCLOSETRAY, 0); |
275 | 275 | ||
276 | inputs: none | 276 | inputs: none |
277 | 277 | ||
278 | outputs: none | 278 | outputs: none |
279 | 279 | ||
280 | error returns: | 280 | error returns: |
281 | ENOSYS cd drive not capable of ejecting | 281 | ENOSYS cd drive not capable of closing the tray |
282 | EBUSY other processes are accessing drive, or door is locked | 282 | EBUSY other processes are accessing drive, or door is locked |
283 | 283 | ||
284 | notes: | 284 | notes: |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 1150444a21ab..329dcabe4c5e 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -463,12 +463,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
463 | Range: 0 - 8192 | 463 | Range: 0 - 8192 |
464 | Default: 64 | 464 | Default: 64 |
465 | 465 | ||
466 | disable_8254_timer | ||
467 | enable_8254_timer | ||
468 | [IA32/X86_64] Disable/Enable interrupt 0 timer routing | ||
469 | over the 8254 in addition to over the IO-APIC. The | ||
470 | kernel tries to set a sensible default. | ||
471 | |||
472 | hpet= [X86-32,HPET] option to control HPET usage | 466 | hpet= [X86-32,HPET] option to control HPET usage |
473 | Format: { enable (default) | disable | force } | 467 | Format: { enable (default) | disable | force } |
474 | disable: disable HPET and use PIT instead | 468 | disable: disable HPET and use PIT instead |
@@ -1882,6 +1876,12 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1882 | shapers= [NET] | 1876 | shapers= [NET] |
1883 | Maximal number of shapers. | 1877 | Maximal number of shapers. |
1884 | 1878 | ||
1879 | show_msr= [x86] show boot-time MSR settings | ||
1880 | Format: { <integer> } | ||
1881 | Show boot-time (BIOS-initialized) MSR settings. | ||
1882 | The parameter means the number of CPUs to show, | ||
1883 | for example 1 means boot CPU only. | ||
1884 | |||
1885 | sim710= [SCSI,HW] | 1885 | sim710= [SCSI,HW] |
1886 | See header of drivers/scsi/sim710.c. | 1886 | See header of drivers/scsi/sim710.c. |
1887 | 1887 | ||
diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt index 02dc748b76c4..71f0fe1fc1b0 100644 --- a/Documentation/laptops/thinkpad-acpi.txt +++ b/Documentation/laptops/thinkpad-acpi.txt | |||
@@ -44,7 +44,7 @@ detailed description): | |||
44 | - LCD brightness control | 44 | - LCD brightness control |
45 | - Volume control | 45 | - Volume control |
46 | - Fan control and monitoring: fan speed, fan enable/disable | 46 | - Fan control and monitoring: fan speed, fan enable/disable |
47 | - Experimental: WAN enable and disable | 47 | - WAN enable and disable |
48 | 48 | ||
49 | A compatibility table by model and feature is maintained on the web | 49 | A compatibility table by model and feature is maintained on the web |
50 | site, http://ibm-acpi.sf.net/. I appreciate any success or failure | 50 | site, http://ibm-acpi.sf.net/. I appreciate any success or failure |
@@ -1375,18 +1375,13 @@ with EINVAL, try to set pwm1_enable to 1 and pwm1 to at least 128 (255 | |||
1375 | would be the safest choice, though). | 1375 | would be the safest choice, though). |
1376 | 1376 | ||
1377 | 1377 | ||
1378 | EXPERIMENTAL: WAN | 1378 | WAN |
1379 | ----------------- | 1379 | --- |
1380 | 1380 | ||
1381 | procfs: /proc/acpi/ibm/wan | 1381 | procfs: /proc/acpi/ibm/wan |
1382 | sysfs device attribute: wwan_enable (deprecated) | 1382 | sysfs device attribute: wwan_enable (deprecated) |
1383 | sysfs rfkill class: switch "tpacpi_wwan_sw" | 1383 | sysfs rfkill class: switch "tpacpi_wwan_sw" |
1384 | 1384 | ||
1385 | This feature is marked EXPERIMENTAL because the implementation | ||
1386 | directly accesses hardware registers and may not work as expected. USE | ||
1387 | WITH CAUTION! To use this feature, you need to supply the | ||
1388 | experimental=1 parameter when loading the module. | ||
1389 | |||
1390 | This feature shows the presence and current state of a W-WAN (Sierra | 1385 | This feature shows the presence and current state of a W-WAN (Sierra |
1391 | Wireless EV-DO) device. | 1386 | Wireless EV-DO) device. |
1392 | 1387 | ||
diff --git a/Documentation/lguest/lguest.c b/Documentation/lguest/lguest.c index 655414821edc..7228369d1014 100644 --- a/Documentation/lguest/lguest.c +++ b/Documentation/lguest/lguest.c | |||
@@ -895,6 +895,9 @@ static void handle_console_output(int fd, struct virtqueue *vq, bool timeout) | |||
895 | } | 895 | } |
896 | } | 896 | } |
897 | 897 | ||
898 | /* This is called when we no longer want to hear about Guest changes to a | ||
899 | * virtqueue. This is more efficient in high-traffic cases, but it means we | ||
900 | * have to set a timer to check if any more changes have occurred. */ | ||
898 | static void block_vq(struct virtqueue *vq) | 901 | static void block_vq(struct virtqueue *vq) |
899 | { | 902 | { |
900 | struct itimerval itm; | 903 | struct itimerval itm; |
@@ -939,6 +942,11 @@ static void handle_net_output(int fd, struct virtqueue *vq, bool timeout) | |||
939 | if (!timeout && num) | 942 | if (!timeout && num) |
940 | block_vq(vq); | 943 | block_vq(vq); |
941 | 944 | ||
945 | /* We never quite know how long should we wait before we check the | ||
946 | * queue again for more packets. We start at 500 microseconds, and if | ||
947 | * we get fewer packets than last time, we assume we made the timeout | ||
948 | * too small and increase it by 10 microseconds. Otherwise, we drop it | ||
949 | * by one microsecond every time. It seems to work well enough. */ | ||
942 | if (timeout) { | 950 | if (timeout) { |
943 | if (num < last_timeout_num) | 951 | if (num < last_timeout_num) |
944 | timeout_usec += 10; | 952 | timeout_usec += 10; |
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt index 276a7e637822..e1ff0d920a5c 100644 --- a/Documentation/sysctl/kernel.txt +++ b/Documentation/sysctl/kernel.txt | |||
@@ -351,9 +351,10 @@ kernel. This value defaults to SHMMAX. | |||
351 | 351 | ||
352 | softlockup_thresh: | 352 | softlockup_thresh: |
353 | 353 | ||
354 | This value can be used to lower the softlockup tolerance | 354 | This value can be used to lower the softlockup tolerance threshold. The |
355 | threshold. The default threshold is 10s. If a cpu is locked up | 355 | default threshold is 60 seconds. If a cpu is locked up for 60 seconds, |
356 | for 10s, the kernel complains. Valid values are 1-60s. | 356 | the kernel complains. Valid values are 1-60 seconds. Setting this |
357 | tunable to zero will disable the softlockup detection altogether. | ||
357 | 358 | ||
358 | ============================================================== | 359 | ============================================================== |
359 | 360 | ||
diff --git a/Documentation/usb/anchors.txt b/Documentation/usb/anchors.txt index 7304bcf5a306..5e6b64c20d25 100644 --- a/Documentation/usb/anchors.txt +++ b/Documentation/usb/anchors.txt | |||
@@ -42,9 +42,21 @@ This function kills all URBs associated with an anchor. The URBs | |||
42 | are called in the reverse temporal order they were submitted. | 42 | are called in the reverse temporal order they were submitted. |
43 | This way no data can be reordered. | 43 | This way no data can be reordered. |
44 | 44 | ||
45 | usb_unlink_anchored_urbs() | ||
46 | -------------------------- | ||
47 | |||
48 | This function unlinks all URBs associated with an anchor. The URBs | ||
49 | are processed in the reverse temporal order they were submitted. | ||
50 | This is similar to usb_kill_anchored_urbs(), but it will not sleep. | ||
51 | Therefore no guarantee is made that the URBs have been unlinked when | ||
52 | the call returns. They may be unlinked later but will be unlinked in | ||
53 | finite time. | ||
54 | |||
45 | usb_wait_anchor_empty_timeout() | 55 | usb_wait_anchor_empty_timeout() |
46 | ------------------------------- | 56 | ------------------------------- |
47 | 57 | ||
48 | This function waits for all URBs associated with an anchor to finish | 58 | This function waits for all URBs associated with an anchor to finish |
49 | or a timeout, whichever comes first. Its return value will tell you | 59 | or a timeout, whichever comes first. Its return value will tell you |
50 | whether the timeout was reached. | 60 | whether the timeout was reached. |
61 | |||
62 | |||
diff --git a/Documentation/video4linux/CARDLIST.au0828 b/Documentation/video4linux/CARDLIST.au0828 index eedc399e8deb..aa05e5bb22fb 100644 --- a/Documentation/video4linux/CARDLIST.au0828 +++ b/Documentation/video4linux/CARDLIST.au0828 | |||
@@ -3,3 +3,4 @@ | |||
3 | 2 -> Hauppauge HVR850 (au0828) [2040:7240] | 3 | 2 -> Hauppauge HVR850 (au0828) [2040:7240] |
4 | 3 -> DViCO FusionHDTV USB (au0828) [0fe9:d620] | 4 | 3 -> DViCO FusionHDTV USB (au0828) [0fe9:d620] |
5 | 4 -> Hauppauge HVR950Q rev xxF8 (au0828) [2040:7201,2040:7211,2040:7281] | 5 | 4 -> Hauppauge HVR950Q rev xxF8 (au0828) [2040:7201,2040:7211,2040:7281] |
6 | 5 -> Hauppauge Woodbury (au0828) [2040:8200] | ||
diff --git a/Documentation/video4linux/gspca.txt b/Documentation/video4linux/gspca.txt index 78a863ab8a5a..0f03900c48fb 100644 --- a/Documentation/video4linux/gspca.txt +++ b/Documentation/video4linux/gspca.txt | |||
@@ -88,14 +88,14 @@ zc3xx 0471:0325 Philips SPC 200 NC | |||
88 | zc3xx 0471:0326 Philips SPC 300 NC | 88 | zc3xx 0471:0326 Philips SPC 300 NC |
89 | sonixj 0471:0327 Philips SPC 600 NC | 89 | sonixj 0471:0327 Philips SPC 600 NC |
90 | sonixj 0471:0328 Philips SPC 700 NC | 90 | sonixj 0471:0328 Philips SPC 700 NC |
91 | zc3xx 0471:032d Philips spc210nc | 91 | zc3xx 0471:032d Philips SPC 210 NC |
92 | zc3xx 0471:032e Philips spc315nc | 92 | zc3xx 0471:032e Philips SPC 315 NC |
93 | sonixj 0471:0330 Philips SPC 710NC | 93 | sonixj 0471:0330 Philips SPC 710 NC |
94 | spca501 0497:c001 Smile International | 94 | spca501 0497:c001 Smile International |
95 | sunplus 04a5:3003 Benq DC 1300 | 95 | sunplus 04a5:3003 Benq DC 1300 |
96 | sunplus 04a5:3008 Benq DC 1500 | 96 | sunplus 04a5:3008 Benq DC 1500 |
97 | sunplus 04a5:300a Benq DC3410 | 97 | sunplus 04a5:300a Benq DC 3410 |
98 | spca500 04a5:300c Benq DC1016 | 98 | spca500 04a5:300c Benq DC 1016 |
99 | sunplus 04f1:1001 JVC GC A50 | 99 | sunplus 04f1:1001 JVC GC A50 |
100 | spca561 04fc:0561 Flexcam 100 | 100 | spca561 04fc:0561 Flexcam 100 |
101 | sunplus 04fc:500c Sunplus CA500C | 101 | sunplus 04fc:500c Sunplus CA500C |
@@ -175,19 +175,21 @@ sunplus 08ca:2060 Aiptek PocketDV5300 | |||
175 | tv8532 0923:010f ICM532 cams | 175 | tv8532 0923:010f ICM532 cams |
176 | mars 093a:050f Mars-Semi Pc-Camera | 176 | mars 093a:050f Mars-Semi Pc-Camera |
177 | pac207 093a:2460 PAC207 Qtec Webcam 100 | 177 | pac207 093a:2460 PAC207 Qtec Webcam 100 |
178 | pac207 093a:2463 Philips spc200nc pac207 | 178 | pac207 093a:2463 Philips SPC 220 NC |
179 | pac207 093a:2464 Labtec Webcam 1200 | 179 | pac207 093a:2464 Labtec Webcam 1200 |
180 | pac207 093a:2468 PAC207 | 180 | pac207 093a:2468 PAC207 |
181 | pac207 093a:2470 Genius GF112 | 181 | pac207 093a:2470 Genius GF112 |
182 | pac207 093a:2471 PAC207 Genius VideoCam ge111 | 182 | pac207 093a:2471 Genius VideoCam ge111 |
183 | pac207 093a:2472 PAC207 Genius VideoCam ge110 | 183 | pac207 093a:2472 Genius VideoCam ge110 |
184 | pac7311 093a:2600 PAC7311 Typhoon | 184 | pac7311 093a:2600 PAC7311 Typhoon |
185 | pac7311 093a:2601 PAC7311 Phillips SPC610NC | 185 | pac7311 093a:2601 Philips SPC 610 NC |
186 | pac7311 093a:2603 PAC7312 | 186 | pac7311 093a:2603 PAC7312 |
187 | pac7311 093a:2608 PAC7311 Trust WB-3300p | 187 | pac7311 093a:2608 Trust WB-3300p |
188 | pac7311 093a:260e PAC7311 Gigaware VGA PC Camera, Trust WB-3350p, SIGMA cam 2350 | 188 | pac7311 093a:260e Gigaware VGA PC Camera, Trust WB-3350p, SIGMA cam 2350 |
189 | pac7311 093a:260f PAC7311 SnakeCam | 189 | pac7311 093a:260f SnakeCam |
190 | pac7311 093a:2621 PAC731x | 190 | pac7311 093a:2621 PAC731x |
191 | pac7311 093a:2624 PAC7302 | ||
192 | pac7311 093a:2626 Labtec 2200 | ||
191 | zc3xx 0ac8:0302 Z-star Vimicro zc0302 | 193 | zc3xx 0ac8:0302 Z-star Vimicro zc0302 |
192 | vc032x 0ac8:0321 Vimicro generic vc0321 | 194 | vc032x 0ac8:0321 Vimicro generic vc0321 |
193 | vc032x 0ac8:0323 Vimicro Vc0323 | 195 | vc032x 0ac8:0323 Vimicro Vc0323 |
@@ -220,6 +222,7 @@ sonixj 0c45:60c0 Sangha Sn535 | |||
220 | sonixj 0c45:60ec SN9C105+MO4000 | 222 | sonixj 0c45:60ec SN9C105+MO4000 |
221 | sonixj 0c45:60fb Surfer NoName | 223 | sonixj 0c45:60fb Surfer NoName |
222 | sonixj 0c45:60fc LG-LIC300 | 224 | sonixj 0c45:60fc LG-LIC300 |
225 | sonixj 0c45:6128 Microdia/Sonix SNP325 | ||
223 | sonixj 0c45:612a Avant Camera | 226 | sonixj 0c45:612a Avant Camera |
224 | sonixj 0c45:612c Typhoon Rasy Cam 1.3MPix | 227 | sonixj 0c45:612c Typhoon Rasy Cam 1.3MPix |
225 | sonixj 0c45:6130 Sonix Pccam | 228 | sonixj 0c45:6130 Sonix Pccam |
@@ -234,7 +237,7 @@ zc3xx 10fd:0128 Typhoon Webshot II USB 300k 0x0128 | |||
234 | spca561 10fd:7e50 FlyCam Usb 100 | 237 | spca561 10fd:7e50 FlyCam Usb 100 |
235 | zc3xx 10fd:8050 Typhoon Webshot II USB 300k | 238 | zc3xx 10fd:8050 Typhoon Webshot II USB 300k |
236 | spca501 1776:501c Arowana 300K CMOS Camera | 239 | spca501 1776:501c Arowana 300K CMOS Camera |
237 | t613 17a1:0128 T613/TAS5130A | 240 | t613 17a1:0128 TASCORP JPEG Webcam, NGS Cyclops |
238 | vc032x 17ef:4802 Lenovo Vc0323+MI1310_SOC | 241 | vc032x 17ef:4802 Lenovo Vc0323+MI1310_SOC |
239 | pac207 2001:f115 D-Link DSB-C120 | 242 | pac207 2001:f115 D-Link DSB-C120 |
240 | spca500 2899:012c Toptro Industrial | 243 | spca500 2899:012c Toptro Industrial |
diff --git a/Documentation/x86/00-INDEX b/Documentation/x86/00-INDEX new file mode 100644 index 000000000000..dbe3377754af --- /dev/null +++ b/Documentation/x86/00-INDEX | |||
@@ -0,0 +1,4 @@ | |||
1 | 00-INDEX | ||
2 | - this file | ||
3 | mtrr.txt | ||
4 | - how to use x86 Memory Type Range Registers to increase performance | ||
diff --git a/Documentation/x86/i386/boot.txt b/Documentation/x86/boot.txt index 147bfe511cdd..83c0033ee9e0 100644 --- a/Documentation/x86/i386/boot.txt +++ b/Documentation/x86/boot.txt | |||
@@ -308,7 +308,7 @@ Protocol: 2.00+ | |||
308 | 308 | ||
309 | Field name: start_sys | 309 | Field name: start_sys |
310 | Type: read | 310 | Type: read |
311 | Offset/size: 0x20c/4 | 311 | Offset/size: 0x20c/2 |
312 | Protocol: 2.00+ | 312 | Protocol: 2.00+ |
313 | 313 | ||
314 | The load low segment (0x1000). Obsolete. | 314 | The load low segment (0x1000). Obsolete. |
diff --git a/Documentation/mtrr.txt b/Documentation/x86/mtrr.txt index c39ac395970e..cc071dc333c2 100644 --- a/Documentation/mtrr.txt +++ b/Documentation/x86/mtrr.txt | |||
@@ -18,7 +18,7 @@ Richard Gooch | |||
18 | The AMD K6-2 (stepping 8 and above) and K6-3 processors have two | 18 | The AMD K6-2 (stepping 8 and above) and K6-3 processors have two |
19 | MTRRs. These are supported. The AMD Athlon family provide 8 Intel | 19 | MTRRs. These are supported. The AMD Athlon family provide 8 Intel |
20 | style MTRRs. | 20 | style MTRRs. |
21 | 21 | ||
22 | The Centaur C6 (WinChip) has 8 MCRs, allowing write-combining. These | 22 | The Centaur C6 (WinChip) has 8 MCRs, allowing write-combining. These |
23 | are supported. | 23 | are supported. |
24 | 24 | ||
@@ -87,7 +87,7 @@ reg00: base=0x00000000 ( 0MB), size= 64MB: write-back, count=1 | |||
87 | reg01: base=0xfb000000 (4016MB), size= 16MB: write-combining, count=1 | 87 | reg01: base=0xfb000000 (4016MB), size= 16MB: write-combining, count=1 |
88 | reg02: base=0xfb000000 (4016MB), size= 4kB: uncachable, count=1 | 88 | reg02: base=0xfb000000 (4016MB), size= 4kB: uncachable, count=1 |
89 | 89 | ||
90 | Some cards (especially Voodoo Graphics boards) need this 4 kB area | 90 | Some cards (especially Voodoo Graphics boards) need this 4 kB area |
91 | excluded from the beginning of the region because it is used for | 91 | excluded from the beginning of the region because it is used for |
92 | registers. | 92 | registers. |
93 | 93 | ||
diff --git a/Documentation/x86/pat.txt b/Documentation/x86/pat.txt index 17965f927c15..c93ff5f4c0dd 100644 --- a/Documentation/x86/pat.txt +++ b/Documentation/x86/pat.txt | |||
@@ -14,6 +14,10 @@ PAT allows for different types of memory attributes. The most commonly used | |||
14 | ones that will be supported at this time are Write-back, Uncached, | 14 | ones that will be supported at this time are Write-back, Uncached, |
15 | Write-combined and Uncached Minus. | 15 | Write-combined and Uncached Minus. |
16 | 16 | ||
17 | |||
18 | PAT APIs | ||
19 | -------- | ||
20 | |||
17 | There are many different APIs in the kernel that allows setting of memory | 21 | There are many different APIs in the kernel that allows setting of memory |
18 | attributes at the page level. In order to avoid aliasing, these interfaces | 22 | attributes at the page level. In order to avoid aliasing, these interfaces |
19 | should be used thoughtfully. Below is a table of interfaces available, | 23 | should be used thoughtfully. Below is a table of interfaces available, |
@@ -26,38 +30,38 @@ address range to avoid any aliasing. | |||
26 | API | RAM | ACPI,... | Reserved/Holes | | 30 | API | RAM | ACPI,... | Reserved/Holes | |
27 | -----------------------|----------|------------|------------------| | 31 | -----------------------|----------|------------|------------------| |
28 | | | | | | 32 | | | | | |
29 | ioremap | -- | UC | UC | | 33 | ioremap | -- | UC- | UC- | |
30 | | | | | | 34 | | | | | |
31 | ioremap_cache | -- | WB | WB | | 35 | ioremap_cache | -- | WB | WB | |
32 | | | | | | 36 | | | | | |
33 | ioremap_nocache | -- | UC | UC | | 37 | ioremap_nocache | -- | UC- | UC- | |
34 | | | | | | 38 | | | | | |
35 | ioremap_wc | -- | -- | WC | | 39 | ioremap_wc | -- | -- | WC | |
36 | | | | | | 40 | | | | | |
37 | set_memory_uc | UC | -- | -- | | 41 | set_memory_uc | UC- | -- | -- | |
38 | set_memory_wb | | | | | 42 | set_memory_wb | | | | |
39 | | | | | | 43 | | | | | |
40 | set_memory_wc | WC | -- | -- | | 44 | set_memory_wc | WC | -- | -- | |
41 | set_memory_wb | | | | | 45 | set_memory_wb | | | | |
42 | | | | | | 46 | | | | | |
43 | pci sysfs resource | -- | -- | UC | | 47 | pci sysfs resource | -- | -- | UC- | |
44 | | | | | | 48 | | | | | |
45 | pci sysfs resource_wc | -- | -- | WC | | 49 | pci sysfs resource_wc | -- | -- | WC | |
46 | is IORESOURCE_PREFETCH| | | | | 50 | is IORESOURCE_PREFETCH| | | | |
47 | | | | | | 51 | | | | | |
48 | pci proc | -- | -- | UC | | 52 | pci proc | -- | -- | UC- | |
49 | !PCIIOC_WRITE_COMBINE | | | | | 53 | !PCIIOC_WRITE_COMBINE | | | | |
50 | | | | | | 54 | | | | | |
51 | pci proc | -- | -- | WC | | 55 | pci proc | -- | -- | WC | |
52 | PCIIOC_WRITE_COMBINE | | | | | 56 | PCIIOC_WRITE_COMBINE | | | | |
53 | | | | | | 57 | | | | | |
54 | /dev/mem | -- | UC | UC | | 58 | /dev/mem | -- | WB/WC/UC- | WB/WC/UC- | |
55 | read-write | | | | | 59 | read-write | | | | |
56 | | | | | | 60 | | | | | |
57 | /dev/mem | -- | UC | UC | | 61 | /dev/mem | -- | UC- | UC- | |
58 | mmap SYNC flag | | | | | 62 | mmap SYNC flag | | | | |
59 | | | | | | 63 | | | | | |
60 | /dev/mem | -- | WB/WC/UC | WB/WC/UC | | 64 | /dev/mem | -- | WB/WC/UC- | WB/WC/UC- | |
61 | mmap !SYNC flag | |(from exist-| (from exist- | | 65 | mmap !SYNC flag | |(from exist-| (from exist- | |
62 | and | | ing alias)| ing alias) | | 66 | and | | ing alias)| ing alias) | |
63 | any alias to this area| | | | | 67 | any alias to this area| | | | |
@@ -68,7 +72,7 @@ pci proc | -- | -- | WC | | |||
68 | and | | | | | 72 | and | | | | |
69 | MTRR says WB | | | | | 73 | MTRR says WB | | | | |
70 | | | | | | 74 | | | | | |
71 | /dev/mem | -- | -- | UC_MINUS | | 75 | /dev/mem | -- | -- | UC- | |
72 | mmap !SYNC flag | | | | | 76 | mmap !SYNC flag | | | | |
73 | no alias to this area | | | | | 77 | no alias to this area | | | | |
74 | and | | | | | 78 | and | | | | |
@@ -98,3 +102,35 @@ types. | |||
98 | 102 | ||
99 | Drivers should use set_memory_[uc|wc] to set access type for RAM ranges. | 103 | Drivers should use set_memory_[uc|wc] to set access type for RAM ranges. |
100 | 104 | ||
105 | |||
106 | PAT debugging | ||
107 | ------------- | ||
108 | |||
109 | With CONFIG_DEBUG_FS enabled, PAT memtype list can be examined by | ||
110 | |||
111 | # mount -t debugfs debugfs /sys/kernel/debug | ||
112 | # cat /sys/kernel/debug/x86/pat_memtype_list | ||
113 | PAT memtype list: | ||
114 | uncached-minus @ 0x7fadf000-0x7fae0000 | ||
115 | uncached-minus @ 0x7fb19000-0x7fb1a000 | ||
116 | uncached-minus @ 0x7fb1a000-0x7fb1b000 | ||
117 | uncached-minus @ 0x7fb1b000-0x7fb1c000 | ||
118 | uncached-minus @ 0x7fb1c000-0x7fb1d000 | ||
119 | uncached-minus @ 0x7fb1d000-0x7fb1e000 | ||
120 | uncached-minus @ 0x7fb1e000-0x7fb25000 | ||
121 | uncached-minus @ 0x7fb25000-0x7fb26000 | ||
122 | uncached-minus @ 0x7fb26000-0x7fb27000 | ||
123 | uncached-minus @ 0x7fb27000-0x7fb28000 | ||
124 | uncached-minus @ 0x7fb28000-0x7fb2e000 | ||
125 | uncached-minus @ 0x7fb2e000-0x7fb2f000 | ||
126 | uncached-minus @ 0x7fb2f000-0x7fb30000 | ||
127 | uncached-minus @ 0x7fb31000-0x7fb32000 | ||
128 | uncached-minus @ 0x80000000-0x90000000 | ||
129 | |||
130 | This list shows physical address ranges and various PAT settings used to | ||
131 | access those physical address ranges. | ||
132 | |||
133 | Another, more verbose way of getting PAT related debug messages is with | ||
134 | "debugpat" boot parameter. With this parameter, various debug messages are | ||
135 | printed to dmesg log. | ||
136 | |||
diff --git a/Documentation/x86/i386/usb-legacy-support.txt b/Documentation/x86/usb-legacy-support.txt index 1894cdfc69d9..1894cdfc69d9 100644 --- a/Documentation/x86/i386/usb-legacy-support.txt +++ b/Documentation/x86/usb-legacy-support.txt | |||
diff --git a/Documentation/x86/x86_64/boot-options.txt b/Documentation/x86/x86_64/boot-options.txt index b0c7b6c4abda..72ffb5373ec7 100644 --- a/Documentation/x86/x86_64/boot-options.txt +++ b/Documentation/x86/x86_64/boot-options.txt | |||
@@ -54,10 +54,6 @@ APICs | |||
54 | apicmaintimer. Useful when your PIT timer is totally | 54 | apicmaintimer. Useful when your PIT timer is totally |
55 | broken. | 55 | broken. |
56 | 56 | ||
57 | disable_8254_timer / enable_8254_timer | ||
58 | Enable interrupt 0 timer routing over the 8254 in addition to over | ||
59 | the IO-APIC. The kernel tries to set a sensible default. | ||
60 | |||
61 | Early Console | 57 | Early Console |
62 | 58 | ||
63 | syntax: earlyprintk=vga | 59 | syntax: earlyprintk=vga |
diff --git a/Documentation/x86/i386/zero-page.txt b/Documentation/x86/zero-page.txt index 169ad423a3d1..169ad423a3d1 100644 --- a/Documentation/x86/i386/zero-page.txt +++ b/Documentation/x86/zero-page.txt | |||