Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi...
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / Documentation / block / queue-sysfs.txt
1 Queue sysfs files
2 =================
3
4 This text file will detail the queue files that are located in the sysfs tree
5 for each block device. Note that stacked devices typically do not export
6 any settings, since their queue merely functions are a remapping target.
7 These files are the ones found in the /sys/block/xxx/queue/ directory.
8
9 Files denoted with a RO postfix are readonly and the RW postfix means
10 read-write.
11
12 hw_sector_size (RO)
13 -------------------
14 This is the hardware sector size of the device, in bytes.
15
16 max_hw_sectors_kb (RO)
17 ----------------------
18 This is the maximum number of kilobytes supported in a single data transfer.
19
20 max_sectors_kb (RW)
21 -------------------
22 This is the maximum number of kilobytes that the block layer will allow
23 for a filesystem request. Must be smaller than or equal to the maximum
24 size allowed by the hardware.
25
26 nomerges (RW)
27 -------------
28 This enables the user to disable the lookup logic involved with IO
29 merging requests in the block layer. By default (0) all merges are
30 enabled. When set to 1 only simple one-hit merges will be tried. When
31 set to 2 no merge algorithms will be tried (including one-hit or more
32 complex tree/hash lookups).
33
34 nr_requests (RW)
35 ----------------
36 This controls how many requests may be allocated in the block layer for
37 read or write requests. Note that the total allocated number may be twice
38 this amount, since it applies only to reads or writes (not the accumulated
39 sum).
40
41 To avoid priority inversion through request starvation, a request
42 queue maintains a separate request pool per each cgroup when
43 CONFIG_BLK_CGROUP is enabled, and this parameter applies to each such
44 per-block-cgroup request pool. IOW, if there are N block cgroups,
45 each request queue may have upto N request pools, each independently
46 regulated by nr_requests.
47
48 read_ahead_kb (RW)
49 ------------------
50 Maximum number of kilobytes to read-ahead for filesystems on this block
51 device.
52
53 rq_affinity (RW)
54 ----------------
55 If this option is '1', the block layer will migrate request completions to the
56 cpu "group" that originally submitted the request. For some workloads this
57 provides a significant reduction in CPU cycles due to caching effects.
58
59 For storage configurations that need to maximize distribution of completion
60 processing setting this option to '2' forces the completion to run on the
61 requesting cpu (bypassing the "group" aggregation logic).
62
63 scheduler (RW)
64 --------------
65 When read, this file will display the current and available IO schedulers
66 for this block device. The currently active IO scheduler will be enclosed
67 in [] brackets. Writing an IO scheduler name to this file will switch
68 control of this block device to that new IO scheduler. Note that writing
69 an IO scheduler name to this file will attempt to load that IO scheduler
70 module, if it isn't already present in the system.
71
72
73
74 Jens Axboe <jens.axboe@oracle.com>, February 2009