blob: 6518a55273e7094f62f84a5d83467fd96b26fd26 [file] [log] [blame]
Jens Axboecbb59012009-02-02 13:02:31 +01001Queue 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-------------
Alan D. Brunelle488991e2010-01-29 09:04:08 +010028This enables the user to disable the lookup logic involved with IO
29merging requests in the block layer. By default (0) all merges are
30enabled. When set to 1 only simple one-hit merges will be tried. When
31set to 2 no merge algorithms will be tried (including one-hit or more
32complex tree/hash lookups).
Jens Axboecbb59012009-02-02 13:02:31 +010033
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
Tejun Heoa0516612012-06-26 15:05:44 -070041To avoid priority inversion through request starvation, a request
42queue maintains a separate request pool per each cgroup when
43CONFIG_BLK_CGROUP is enabled, and this parameter applies to each such
44per-block-cgroup request pool. IOW, if there are N block cgroups,
45each request queue may have upto N request pools, each independently
46regulated by nr_requests.
47
Jens Axboecbb59012009-02-02 13:02:31 +010048read_ahead_kb (RW)
49------------------
50Maximum number of kilobytes to read-ahead for filesystems on this block
51device.
52
53rq_affinity (RW)
54----------------
Dan Williams5757a6d2011-07-23 20:44:25 +020055If this option is '1', the block layer will migrate request completions to the
56cpu "group" that originally submitted the request. For some workloads this
57provides a significant reduction in CPU cycles due to caching effects.
58
59For storage configurations that need to maximize distribution of completion
60processing setting this option to '2' forces the completion to run on the
61requesting cpu (bypassing the "group" aggregation logic).
Jens Axboecbb59012009-02-02 13:02:31 +010062
63scheduler (RW)
64--------------
65When read, this file will display the current and available IO schedulers
66for this block device. The currently active IO scheduler will be enclosed
67in [] brackets. Writing an IO scheduler name to this file will switch
68control of this block device to that new IO scheduler. Note that writing
69an IO scheduler name to this file will attempt to load that IO scheduler
70module, if it isn't already present in the system.
71
72
73
74Jens Axboe <jens.axboe@oracle.com>, February 2009