aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/block
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/block')
-rw-r--r--Documentation/block/biodoc.txt11
-rw-r--r--Documentation/block/queue-sysfs.txt63
2 files changed, 69 insertions, 5 deletions
diff --git a/Documentation/block/biodoc.txt b/Documentation/block/biodoc.txt
index 3c5434c83daf..ecad6ee75705 100644
--- a/Documentation/block/biodoc.txt
+++ b/Documentation/block/biodoc.txt
@@ -186,8 +186,9 @@ a virtual address mapping (unlike the earlier scheme of virtual address
186do not have a corresponding kernel virtual address space mapping) and 186do not have a corresponding kernel virtual address space mapping) and
187low-memory pages. 187low-memory pages.
188 188
189Note: Please refer to DMA-mapping.txt for a discussion on PCI high mem DMA 189Note: Please refer to Documentation/PCI/PCI-DMA-mapping.txt for a discussion
190aspects and mapping of scatter gather lists, and support for 64 bit PCI. 190on PCI high mem DMA aspects and mapping of scatter gather lists, and support
191for 64 bit PCI.
191 192
192Special handling is required only for cases where i/o needs to happen on 193Special handling is required only for cases where i/o needs to happen on
193pages at physical memory addresses beyond what the device can support. In these 194pages at physical memory addresses beyond what the device can support. In these
@@ -953,14 +954,14 @@ elevator_allow_merge_fn called whenever the block layer determines
953 results in some sort of conflict internally, 954 results in some sort of conflict internally,
954 this hook allows it to do that. 955 this hook allows it to do that.
955 956
956elevator_dispatch_fn fills the dispatch queue with ready requests. 957elevator_dispatch_fn* fills the dispatch queue with ready requests.
957 I/O schedulers are free to postpone requests by 958 I/O schedulers are free to postpone requests by
958 not filling the dispatch queue unless @force 959 not filling the dispatch queue unless @force
959 is non-zero. Once dispatched, I/O schedulers 960 is non-zero. Once dispatched, I/O schedulers
960 are not allowed to manipulate the requests - 961 are not allowed to manipulate the requests -
961 they belong to generic dispatch queue. 962 they belong to generic dispatch queue.
962 963
963elevator_add_req_fn called to add a new request into the scheduler 964elevator_add_req_fn* called to add a new request into the scheduler
964 965
965elevator_queue_empty_fn returns true if the merge queue is empty. 966elevator_queue_empty_fn returns true if the merge queue is empty.
966 Drivers shouldn't use this, but rather check 967 Drivers shouldn't use this, but rather check
@@ -990,7 +991,7 @@ elevator_activate_req_fn Called when device driver first sees a request.
990elevator_deactivate_req_fn Called when device driver decides to delay 991elevator_deactivate_req_fn Called when device driver decides to delay
991 a request by requeueing it. 992 a request by requeueing it.
992 993
993elevator_init_fn 994elevator_init_fn*
994elevator_exit_fn Allocate and free any elevator specific storage 995elevator_exit_fn Allocate and free any elevator specific storage
995 for a queue. 996 for a queue.
996 997
diff --git a/Documentation/block/queue-sysfs.txt b/Documentation/block/queue-sysfs.txt
new file mode 100644
index 000000000000..e164403f60e1
--- /dev/null
+++ b/Documentation/block/queue-sysfs.txt
@@ -0,0 +1,63 @@
1Queue sysfs files
2=================
3
4This text file will detail the queue files that are located in the sysfs tree
5for each block device. Note that stacked devices typically do not export
6any settings, since their queue merely functions are a remapping target.
7These files are the ones found in the /sys/block/xxx/queue/ directory.
8
9Files denoted with a RO postfix are readonly and the RW postfix means
10read-write.
11
12hw_sector_size (RO)
13-------------------
14This is the hardware sector size of the device, in bytes.
15
16max_hw_sectors_kb (RO)
17----------------------
18This is the maximum number of kilobytes supported in a single data transfer.
19
20max_sectors_kb (RW)
21-------------------
22This is the maximum number of kilobytes that the block layer will allow
23for a filesystem request. Must be smaller than or equal to the maximum
24size allowed by the hardware.
25
26nomerges (RW)
27-------------
28This enables the user to disable the lookup logic involved with IO merging
29requests in the block layer. Merging may still occur through a direct
301-hit cache, since that comes for (almost) free. The IO scheduler will not
31waste cycles doing tree/hash lookups for merges if nomerges is 1. Defaults
32to 0, enabling all merges.
33
34nr_requests (RW)
35----------------
36This controls how many requests may be allocated in the block layer for
37read or write requests. Note that the total allocated number may be twice
38this amount, since it applies only to reads or writes (not the accumulated
39sum).
40
41read_ahead_kb (RW)
42------------------
43Maximum number of kilobytes to read-ahead for filesystems on this block
44device.
45
46rq_affinity (RW)
47----------------
48If this option is enabled, the block layer will migrate request completions
49to the CPU that originally submitted the request. For some workloads
50this provides a significant reduction in CPU cycles due to caching effects.
51
52scheduler (RW)
53--------------
54When read, this file will display the current and available IO schedulers
55for this block device. The currently active IO scheduler will be enclosed
56in [] brackets. Writing an IO scheduler name to this file will switch
57control of this block device to that new IO scheduler. Note that writing
58an IO scheduler name to this file will attempt to load that IO scheduler
59module, if it isn't already present in the system.
60
61
62
63Jens Axboe <jens.axboe@oracle.com>, February 2009