aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/DMA-mapping.txt4
-rw-r--r--Documentation/HOWTO2
-rw-r--r--Documentation/block/00-INDEX20
-rw-r--r--Documentation/block/as-iosched.txt21
-rw-r--r--Documentation/block/biodoc.txt4
-rw-r--r--Documentation/block/deadline-iosched.txt25
-rw-r--r--Documentation/block/ioprio.txt2
-rw-r--r--Documentation/block/request.txt2
-rw-r--r--Documentation/block/switching-sched.txt21
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 @@
100-INDEX
2 - This file
3as-iosched.txt
4 - Anticipatory IO scheduler
5barrier.txt
6 - I/O Barriers
7biodoc.txt
8 - Notes on the Generic Block Layer Rewrite in Linux 2.5
9capability.txt
10 - Generic Block Device Capability (/sys/block/<disk>/capability)
11deadline-iosched.txt
12 - Deadline IO scheduler tunables
13ioprio.txt
14 - Block io priorities (in CFQ scheduler)
15request.txt
16 - The members of struct request (in include/linux/blkdev.h)
17stat.txt
18 - Block layer statistics in /sys/block/<dev>/stat
19switching-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.
20However, setting the antic_expire (see tunable parameters below) produces 20However, setting the antic_expire (see tunable parameters below) produces
21very similar behavior to the deadline IO scheduler. 21very similar behavior to the deadline IO scheduler.
22 22
23
24Selecting IO schedulers 23Selecting IO schedulers
25----------------------- 24-----------------------
26To choose IO schedulers at boot time, use the argument 'elevator=deadline'. 25Refer to Documentation/block/switching-sched.txt for information on
27'noop', 'as' and 'cfq' (the default) are also available. IO schedulers are 26selecting an io scheduler on a per-device basis.
28assigned globally at boot time only presently. It's also possible to change
29the IO scheduler for a determined device on the fly, as described in
30Documentation/block/switching-sched.txt.
31
32 27
33Anticipatory IO scheduler Policies 28Anticipatory IO scheduler Policies
34---------------------------------- 29----------------------------------
@@ -115,7 +110,7 @@ statistics (average think time, average seek distance) on the process
115that submitted the just completed request are examined. If it seems 110that submitted the just completed request are examined. If it seems
116likely that that process will submit another request soon, and that 111likely that that process will submit another request soon, and that
117request is likely to be near the just completed request, then the IO 112request is likely to be near the just completed request, then the IO
118scheduler will stop dispatching more read requests for up time (antic_expire) 113scheduler will stop dispatching more read requests for up to (antic_expire)
119milliseconds, hoping that process will submit a new request near the one 114milliseconds, hoping that process will submit a new request near the one
120that just completed. If such a request is made, then it is dispatched 115that just completed. If such a request is made, then it is dispatched
121immediately. If the antic_expire wait time expires, then the IO scheduler 116immediately. 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
163In addition to the tunables above there is a read-only file named est_time
164which, 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
4Notes Written on Jan 15, 2002: 4Notes 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
8Last Updated May 2, 2002 8Last Updated May 2, 2002
@@ -21,7 +21,7 @@ Credits:
21--------- 21---------
22 22
232.5 bio rewrite: 232.5 bio rewrite:
24 Jens Axboe <axboe@suse.de> 24 Jens Axboe <jens.axboe@oracle.com>
25 25
26Many aspects of the generic block layer redesign were driven by and evolved 26Many aspects of the generic block layer redesign were driven by and evolved
27over discussions, prior patches and the collective experience of several 27over 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.
5In particular, it will clarify the meaning of the exposed tunables that may be 5In particular, it will clarify the meaning of the exposed tunables that may be
6of interest to power users. 6of interest to power users.
7 7
8Each io queue has a set of io scheduler tunables associated with it. These 8Selecting IO schedulers
9tunables control how the io scheduler works. You can find these entries 9-----------------------
10in: 10Refer to Documentation/block/switching-sched.txt for information on
11 11selecting an io scheduler on a per-device basis.
12/sys/block/<device>/queue/iosched
13
14assuming that you have sysfs mounted on /sys. If you don't have sysfs mounted,
15you 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
42When a read request expires its deadline, we must move some requests from 36When a read request expires its deadline, we must move some requests from
43the sorted io scheduler list to the block device dispatch queue. fifo_batch 37the sorted io scheduler list to the block device dispatch queue. fifo_batch
44controls how many requests we move, based on the cost of each request. A 38controls how many requests we move.
45request is either qualified as a seek or a stream. The io scheduler knows
46the last request that was serviced by the drive (or will be serviced right
47before this one). See seek_cost and stream_unit.
48 39
49 40
50write_starved (number of dispatches) 41writes_starved (number of dispatches)
51------------- 42--------------
52 43
53When we have to move requests from the io scheduler queue to the block 44When we have to move requests from the io scheduler queue to the block
54device dispatch queue, we always give a preference to reads. However, we 45device 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
73rbtree front sector lookup when the io scheduler merge function is called. 64rbtree front sector lookup when the io scheduler merge function is called.
74 65
75 66
76Nov 11 2002, Jens Axboe <axboe@suse.de> 67Nov 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
183March 11 2005, Jens Axboe <axboe@suse.de> 183March 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
2struct request documentation 2struct request documentation
3 3
4Jens Axboe <axboe@suse.de> 27/05/02 4Jens Axboe <jens.axboe@oracle.com> 27/05/02
5 5
61.0 61.0
7Index 7Index
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 @@
1To choose IO schedulers at boot time, use the argument 'elevator=deadline'.
2'noop', 'as' and 'cfq' (the default) are also available. IO schedulers are
3assigned globally at boot time only presently.
4
5Each io queue has a set of io scheduler tunables associated with it. These
6tunables control how the io scheduler works. You can find these entries
7in:
8
9/sys/block/<device>/queue/iosched
10
11assuming that you have sysfs mounted on /sys. If you don't have sysfs mounted,
12you can do so by typing:
13
14# mount none /sys -t sysfs
15
1As of the Linux 2.6.10 kernel, it is now possible to change the 16As of the Linux 2.6.10 kernel, it is now possible to change the
2IO scheduler for a given block device on the fly (thus making it possible, 17IO scheduler for a given block device on the fly (thus making it possible,
3for instance, to set the CFQ scheduler for the system default, but 18for 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
22noop [anticipatory] deadline cfq 37noop [anticipatory] deadline cfq
38
39Each io queue has a set of io scheduler tunables associated with it. These
40tunables control how the io scheduler works. You can find these entries
41in:
42
43/sys/block/<device>/queue/iosched