diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/DMA-mapping.txt | 4 | ||||
-rw-r--r-- | Documentation/HOWTO | 2 | ||||
-rw-r--r-- | Documentation/block/00-INDEX | 20 | ||||
-rw-r--r-- | Documentation/block/as-iosched.txt | 21 | ||||
-rw-r--r-- | Documentation/block/biodoc.txt | 4 | ||||
-rw-r--r-- | Documentation/block/deadline-iosched.txt | 25 | ||||
-rw-r--r-- | Documentation/block/ioprio.txt | 2 | ||||
-rw-r--r-- | Documentation/block/request.txt | 2 | ||||
-rw-r--r-- | Documentation/block/switching-sched.txt | 21 |
9 files changed, 69 insertions, 32 deletions
diff --git a/Documentation/DMA-mapping.txt b/Documentation/DMA-mapping.txt index e07f2530326b..3c8ae020b6a7 100644 --- a/Documentation/DMA-mapping.txt +++ b/Documentation/DMA-mapping.txt | |||
@@ -514,7 +514,7 @@ With scatterlists, you map a region gathered from several regions by: | |||
514 | int i, count = pci_map_sg(dev, sglist, nents, direction); | 514 | int i, count = pci_map_sg(dev, sglist, nents, direction); |
515 | struct scatterlist *sg; | 515 | struct scatterlist *sg; |
516 | 516 | ||
517 | for (i = 0, sg = sglist; i < count; i++, sg++) { | 517 | for_each_sg(sglist, sg, count, i) { |
518 | hw_address[i] = sg_dma_address(sg); | 518 | hw_address[i] = sg_dma_address(sg); |
519 | hw_len[i] = sg_dma_len(sg); | 519 | hw_len[i] = sg_dma_len(sg); |
520 | } | 520 | } |
@@ -782,5 +782,5 @@ following people: | |||
782 | Jay Estabrook <Jay.Estabrook@compaq.com> | 782 | Jay Estabrook <Jay.Estabrook@compaq.com> |
783 | Thomas Sailer <sailer@ife.ee.ethz.ch> | 783 | Thomas Sailer <sailer@ife.ee.ethz.ch> |
784 | Andrea Arcangeli <andrea@suse.de> | 784 | Andrea Arcangeli <andrea@suse.de> |
785 | Jens Axboe <axboe@suse.de> | 785 | Jens Axboe <jens.axboe@oracle.com> |
786 | David Mosberger-Tang <davidm@hpl.hp.com> | 786 | David Mosberger-Tang <davidm@hpl.hp.com> |
diff --git a/Documentation/HOWTO b/Documentation/HOWTO index c64e969dc33b..dceb30921498 100644 --- a/Documentation/HOWTO +++ b/Documentation/HOWTO | |||
@@ -330,7 +330,7 @@ Here is a list of some of the different kernel trees available: | |||
330 | - ACPI development tree, Len Brown <len.brown@intel.com> | 330 | - ACPI development tree, Len Brown <len.brown@intel.com> |
331 | git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git | 331 | git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git |
332 | 332 | ||
333 | - Block development tree, Jens Axboe <axboe@suse.de> | 333 | - Block development tree, Jens Axboe <jens.axboe@oracle.com> |
334 | git.kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git | 334 | git.kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git |
335 | 335 | ||
336 | - DRM development tree, Dave Airlie <airlied@linux.ie> | 336 | - DRM development tree, Dave Airlie <airlied@linux.ie> |
diff --git a/Documentation/block/00-INDEX b/Documentation/block/00-INDEX new file mode 100644 index 000000000000..961a0513f8c3 --- /dev/null +++ b/Documentation/block/00-INDEX | |||
@@ -0,0 +1,20 @@ | |||
1 | 00-INDEX | ||
2 | - This file | ||
3 | as-iosched.txt | ||
4 | - Anticipatory IO scheduler | ||
5 | barrier.txt | ||
6 | - I/O Barriers | ||
7 | biodoc.txt | ||
8 | - Notes on the Generic Block Layer Rewrite in Linux 2.5 | ||
9 | capability.txt | ||
10 | - Generic Block Device Capability (/sys/block/<disk>/capability) | ||
11 | deadline-iosched.txt | ||
12 | - Deadline IO scheduler tunables | ||
13 | ioprio.txt | ||
14 | - Block io priorities (in CFQ scheduler) | ||
15 | request.txt | ||
16 | - The members of struct request (in include/linux/blkdev.h) | ||
17 | stat.txt | ||
18 | - Block layer statistics in /sys/block/<dev>/stat | ||
19 | switching-sched.txt | ||
20 | - Switching I/O schedulers at runtime | ||
diff --git a/Documentation/block/as-iosched.txt b/Documentation/block/as-iosched.txt index a598fe10a297..738b72be128e 100644 --- a/Documentation/block/as-iosched.txt +++ b/Documentation/block/as-iosched.txt | |||
@@ -20,15 +20,10 @@ actually has a head for each physical device in the logical RAID device. | |||
20 | However, setting the antic_expire (see tunable parameters below) produces | 20 | However, setting the antic_expire (see tunable parameters below) produces |
21 | very similar behavior to the deadline IO scheduler. | 21 | very similar behavior to the deadline IO scheduler. |
22 | 22 | ||
23 | |||
24 | Selecting IO schedulers | 23 | Selecting IO schedulers |
25 | ----------------------- | 24 | ----------------------- |
26 | To choose IO schedulers at boot time, use the argument 'elevator=deadline'. | 25 | Refer to Documentation/block/switching-sched.txt for information on |
27 | 'noop', 'as' and 'cfq' (the default) are also available. IO schedulers are | 26 | selecting an io scheduler on a per-device basis. |
28 | assigned globally at boot time only presently. It's also possible to change | ||
29 | the IO scheduler for a determined device on the fly, as described in | ||
30 | Documentation/block/switching-sched.txt. | ||
31 | |||
32 | 27 | ||
33 | Anticipatory IO scheduler Policies | 28 | Anticipatory IO scheduler Policies |
34 | ---------------------------------- | 29 | ---------------------------------- |
@@ -115,7 +110,7 @@ statistics (average think time, average seek distance) on the process | |||
115 | that submitted the just completed request are examined. If it seems | 110 | that submitted the just completed request are examined. If it seems |
116 | likely that that process will submit another request soon, and that | 111 | likely that that process will submit another request soon, and that |
117 | request is likely to be near the just completed request, then the IO | 112 | request is likely to be near the just completed request, then the IO |
118 | scheduler will stop dispatching more read requests for up time (antic_expire) | 113 | scheduler will stop dispatching more read requests for up to (antic_expire) |
119 | milliseconds, hoping that process will submit a new request near the one | 114 | milliseconds, hoping that process will submit a new request near the one |
120 | that just completed. If such a request is made, then it is dispatched | 115 | that just completed. If such a request is made, then it is dispatched |
121 | immediately. If the antic_expire wait time expires, then the IO scheduler | 116 | immediately. If the antic_expire wait time expires, then the IO scheduler |
@@ -165,3 +160,13 @@ The parameters are: | |||
165 | for big seek time devices though not a linear correspondence - most | 160 | for big seek time devices though not a linear correspondence - most |
166 | processes have only a few ms thinktime. | 161 | processes have only a few ms thinktime. |
167 | 162 | ||
163 | In addition to the tunables above there is a read-only file named est_time | ||
164 | which, when read, will show: | ||
165 | |||
166 | - The probability of a task exiting without a cooperating task | ||
167 | submitting an anticipated IO. | ||
168 | |||
169 | - The current mean think time. | ||
170 | |||
171 | - The seek distance used to determine if an incoming IO is better. | ||
172 | |||
diff --git a/Documentation/block/biodoc.txt b/Documentation/block/biodoc.txt index dc3f49e3e539..93f223b9723f 100644 --- a/Documentation/block/biodoc.txt +++ b/Documentation/block/biodoc.txt | |||
@@ -2,7 +2,7 @@ | |||
2 | ===================================================== | 2 | ===================================================== |
3 | 3 | ||
4 | Notes Written on Jan 15, 2002: | 4 | Notes Written on Jan 15, 2002: |
5 | Jens Axboe <axboe@suse.de> | 5 | Jens Axboe <jens.axboe@oracle.com> |
6 | Suparna Bhattacharya <suparna@in.ibm.com> | 6 | Suparna Bhattacharya <suparna@in.ibm.com> |
7 | 7 | ||
8 | Last Updated May 2, 2002 | 8 | Last Updated May 2, 2002 |
@@ -21,7 +21,7 @@ Credits: | |||
21 | --------- | 21 | --------- |
22 | 22 | ||
23 | 2.5 bio rewrite: | 23 | 2.5 bio rewrite: |
24 | Jens Axboe <axboe@suse.de> | 24 | Jens Axboe <jens.axboe@oracle.com> |
25 | 25 | ||
26 | Many aspects of the generic block layer redesign were driven by and evolved | 26 | Many aspects of the generic block layer redesign were driven by and evolved |
27 | over discussions, prior patches and the collective experience of several | 27 | over discussions, prior patches and the collective experience of several |
diff --git a/Documentation/block/deadline-iosched.txt b/Documentation/block/deadline-iosched.txt index be08ffd1e9b8..c23cab13c3d1 100644 --- a/Documentation/block/deadline-iosched.txt +++ b/Documentation/block/deadline-iosched.txt | |||
@@ -5,16 +5,10 @@ This little file attempts to document how the deadline io scheduler works. | |||
5 | In particular, it will clarify the meaning of the exposed tunables that may be | 5 | In particular, it will clarify the meaning of the exposed tunables that may be |
6 | of interest to power users. | 6 | of interest to power users. |
7 | 7 | ||
8 | Each io queue has a set of io scheduler tunables associated with it. These | 8 | Selecting IO schedulers |
9 | tunables control how the io scheduler works. You can find these entries | 9 | ----------------------- |
10 | in: | 10 | Refer to Documentation/block/switching-sched.txt for information on |
11 | 11 | selecting an io scheduler on a per-device basis. | |
12 | /sys/block/<device>/queue/iosched | ||
13 | |||
14 | assuming that you have sysfs mounted on /sys. If you don't have sysfs mounted, | ||
15 | you can do so by typing: | ||
16 | |||
17 | # mount none /sys -t sysfs | ||
18 | 12 | ||
19 | 13 | ||
20 | ******************************************************************************** | 14 | ******************************************************************************** |
@@ -41,14 +35,11 @@ fifo_batch | |||
41 | 35 | ||
42 | When a read request expires its deadline, we must move some requests from | 36 | When a read request expires its deadline, we must move some requests from |
43 | the sorted io scheduler list to the block device dispatch queue. fifo_batch | 37 | the sorted io scheduler list to the block device dispatch queue. fifo_batch |
44 | controls how many requests we move, based on the cost of each request. A | 38 | controls how many requests we move. |
45 | request is either qualified as a seek or a stream. The io scheduler knows | ||
46 | the last request that was serviced by the drive (or will be serviced right | ||
47 | before this one). See seek_cost and stream_unit. | ||
48 | 39 | ||
49 | 40 | ||
50 | write_starved (number of dispatches) | 41 | writes_starved (number of dispatches) |
51 | ------------- | 42 | -------------- |
52 | 43 | ||
53 | When we have to move requests from the io scheduler queue to the block | 44 | When we have to move requests from the io scheduler queue to the block |
54 | device dispatch queue, we always give a preference to reads. However, we | 45 | device dispatch queue, we always give a preference to reads. However, we |
@@ -73,6 +64,6 @@ that comes at basically 0 cost we leave that on. We simply disable the | |||
73 | rbtree front sector lookup when the io scheduler merge function is called. | 64 | rbtree front sector lookup when the io scheduler merge function is called. |
74 | 65 | ||
75 | 66 | ||
76 | Nov 11 2002, Jens Axboe <axboe@suse.de> | 67 | Nov 11 2002, Jens Axboe <jens.axboe@oracle.com> |
77 | 68 | ||
78 | 69 | ||
diff --git a/Documentation/block/ioprio.txt b/Documentation/block/ioprio.txt index 35e516b0b8a9..8ed8c59380b4 100644 --- a/Documentation/block/ioprio.txt +++ b/Documentation/block/ioprio.txt | |||
@@ -180,4 +180,4 @@ int main(int argc, char *argv[]) | |||
180 | ---> snip ionice.c tool <--- | 180 | ---> snip ionice.c tool <--- |
181 | 181 | ||
182 | 182 | ||
183 | March 11 2005, Jens Axboe <axboe@suse.de> | 183 | March 11 2005, Jens Axboe <jens.axboe@oracle.com> |
diff --git a/Documentation/block/request.txt b/Documentation/block/request.txt index fff58acb40a3..754e104ed369 100644 --- a/Documentation/block/request.txt +++ b/Documentation/block/request.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | 1 | ||
2 | struct request documentation | 2 | struct request documentation |
3 | 3 | ||
4 | Jens Axboe <axboe@suse.de> 27/05/02 | 4 | Jens Axboe <jens.axboe@oracle.com> 27/05/02 |
5 | 5 | ||
6 | 1.0 | 6 | 1.0 |
7 | Index | 7 | Index |
diff --git a/Documentation/block/switching-sched.txt b/Documentation/block/switching-sched.txt index 5fa130a67531..634c952e1964 100644 --- a/Documentation/block/switching-sched.txt +++ b/Documentation/block/switching-sched.txt | |||
@@ -1,3 +1,18 @@ | |||
1 | To choose IO schedulers at boot time, use the argument 'elevator=deadline'. | ||
2 | 'noop', 'as' and 'cfq' (the default) are also available. IO schedulers are | ||
3 | assigned globally at boot time only presently. | ||
4 | |||
5 | Each io queue has a set of io scheduler tunables associated with it. These | ||
6 | tunables control how the io scheduler works. You can find these entries | ||
7 | in: | ||
8 | |||
9 | /sys/block/<device>/queue/iosched | ||
10 | |||
11 | assuming that you have sysfs mounted on /sys. If you don't have sysfs mounted, | ||
12 | you can do so by typing: | ||
13 | |||
14 | # mount none /sys -t sysfs | ||
15 | |||
1 | As of the Linux 2.6.10 kernel, it is now possible to change the | 16 | As of the Linux 2.6.10 kernel, it is now possible to change the |
2 | IO scheduler for a given block device on the fly (thus making it possible, | 17 | IO scheduler for a given block device on the fly (thus making it possible, |
3 | for instance, to set the CFQ scheduler for the system default, but | 18 | for instance, to set the CFQ scheduler for the system default, but |
@@ -20,3 +35,9 @@ noop anticipatory deadline [cfq] | |||
20 | # echo anticipatory > /sys/block/hda/queue/scheduler | 35 | # echo anticipatory > /sys/block/hda/queue/scheduler |
21 | # cat /sys/block/hda/queue/scheduler | 36 | # cat /sys/block/hda/queue/scheduler |
22 | noop [anticipatory] deadline cfq | 37 | noop [anticipatory] deadline cfq |
38 | |||
39 | Each io queue has a set of io scheduler tunables associated with it. These | ||
40 | tunables control how the io scheduler works. You can find these entries | ||
41 | in: | ||
42 | |||
43 | /sys/block/<device>/queue/iosched | ||