.. | .. |
---|
3 | 3 | |
---|
4 | 4 | menu "IO Schedulers" |
---|
5 | 5 | |
---|
6 | | -config IOSCHED_NOOP |
---|
7 | | - bool |
---|
8 | | - default y |
---|
9 | | - ---help--- |
---|
10 | | - The no-op I/O scheduler is a minimal scheduler that does basic merging |
---|
11 | | - and sorting. Its main uses include non-disk based block devices like |
---|
12 | | - memory devices, and specialised software or hardware environments |
---|
13 | | - that do their own scheduling and require only minimal assistance from |
---|
14 | | - the kernel. |
---|
15 | | - |
---|
16 | | -config IOSCHED_DEADLINE |
---|
17 | | - tristate "Deadline I/O scheduler" |
---|
18 | | - default y |
---|
19 | | - ---help--- |
---|
20 | | - The deadline I/O scheduler is simple and compact. It will provide |
---|
21 | | - CSCAN service with FIFO expiration of requests, switching to |
---|
22 | | - a new point in the service tree and doing a batch of IO from there |
---|
23 | | - in case of expiry. |
---|
24 | | - |
---|
25 | | -config IOSCHED_CFQ |
---|
26 | | - tristate "CFQ I/O scheduler" |
---|
27 | | - default y |
---|
28 | | - ---help--- |
---|
29 | | - The CFQ I/O scheduler tries to distribute bandwidth equally |
---|
30 | | - among all processes in the system. It should provide a fair |
---|
31 | | - and low latency working environment, suitable for both desktop |
---|
32 | | - and server systems. |
---|
33 | | - |
---|
34 | | - This is the default I/O scheduler. |
---|
35 | | - |
---|
36 | | -config CFQ_GROUP_IOSCHED |
---|
37 | | - bool "CFQ Group Scheduling support" |
---|
38 | | - depends on IOSCHED_CFQ && BLK_CGROUP |
---|
39 | | - default n |
---|
40 | | - ---help--- |
---|
41 | | - Enable group IO scheduling in CFQ. |
---|
42 | | - |
---|
43 | | -choice |
---|
44 | | - |
---|
45 | | - prompt "Default I/O scheduler" |
---|
46 | | - default DEFAULT_CFQ |
---|
47 | | - help |
---|
48 | | - Select the I/O scheduler which will be used by default for all |
---|
49 | | - block devices. |
---|
50 | | - |
---|
51 | | - config DEFAULT_DEADLINE |
---|
52 | | - bool "Deadline" if IOSCHED_DEADLINE=y |
---|
53 | | - |
---|
54 | | - config DEFAULT_CFQ |
---|
55 | | - bool "CFQ" if IOSCHED_CFQ=y |
---|
56 | | - |
---|
57 | | - config DEFAULT_NOOP |
---|
58 | | - bool "No-op" |
---|
59 | | - |
---|
60 | | -endchoice |
---|
61 | | - |
---|
62 | | -config DEFAULT_IOSCHED |
---|
63 | | - string |
---|
64 | | - default "deadline" if DEFAULT_DEADLINE |
---|
65 | | - default "cfq" if DEFAULT_CFQ |
---|
66 | | - default "noop" if DEFAULT_NOOP |
---|
67 | | - |
---|
68 | 6 | config MQ_IOSCHED_DEADLINE |
---|
69 | 7 | tristate "MQ deadline I/O scheduler" |
---|
70 | 8 | default y |
---|
71 | | - ---help--- |
---|
| 9 | + help |
---|
72 | 10 | MQ version of the deadline IO scheduler. |
---|
| 11 | + |
---|
| 12 | +config MQ_IOSCHED_DEADLINE_CGROUP |
---|
| 13 | + tristate |
---|
| 14 | + default y |
---|
| 15 | + depends on MQ_IOSCHED_DEADLINE |
---|
| 16 | + depends on BLK_CGROUP |
---|
73 | 17 | |
---|
74 | 18 | config MQ_IOSCHED_KYBER |
---|
75 | 19 | tristate "Kyber I/O scheduler" |
---|
76 | 20 | default y |
---|
77 | | - ---help--- |
---|
| 21 | + help |
---|
78 | 22 | The Kyber I/O scheduler is a low-overhead scheduler suitable for |
---|
79 | 23 | multiqueue and other fast devices. Given target latencies for reads and |
---|
80 | 24 | synchronous writes, it will self-tune queue depths to achieve that |
---|
.. | .. |
---|
82 | 26 | |
---|
83 | 27 | config IOSCHED_BFQ |
---|
84 | 28 | tristate "BFQ I/O scheduler" |
---|
85 | | - default n |
---|
86 | | - ---help--- |
---|
| 29 | + help |
---|
87 | 30 | BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of |
---|
88 | 31 | of the device among all processes according to their weights, |
---|
89 | 32 | regardless of the device parameters and with any workload. It |
---|
90 | 33 | also guarantees a low latency to interactive and soft |
---|
91 | 34 | real-time applications. Details in |
---|
92 | | - Documentation/block/bfq-iosched.txt |
---|
| 35 | + Documentation/block/bfq-iosched.rst |
---|
93 | 36 | |
---|
94 | 37 | config BFQ_GROUP_IOSCHED |
---|
95 | 38 | bool "BFQ hierarchical scheduling support" |
---|
96 | 39 | depends on IOSCHED_BFQ && BLK_CGROUP |
---|
97 | | - default n |
---|
98 | | - ---help--- |
---|
| 40 | + select BLK_CGROUP_RWSTAT |
---|
| 41 | + help |
---|
99 | 42 | |
---|
100 | 43 | Enable hierarchical scheduling in BFQ, using the blkio |
---|
101 | 44 | (cgroups-v1) or io (cgroups-v2) controller. |
---|
102 | 45 | |
---|
| 46 | +config BFQ_CGROUP_DEBUG |
---|
| 47 | + bool "BFQ IO controller debugging" |
---|
| 48 | + depends on BFQ_GROUP_IOSCHED |
---|
| 49 | + help |
---|
| 50 | + Enable some debugging help. Currently it exports additional stat |
---|
| 51 | + files in a cgroup which can be useful for debugging. |
---|
| 52 | + |
---|
103 | 53 | endmenu |
---|
104 | 54 | |
---|
105 | 55 | endif |
---|