Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / block / Kconfig.iosched
1 # SPDX-License-Identifier: GPL-2.0
2 if BLOCK
3
4 menu "IO Schedulers"
5
6 config MQ_IOSCHED_DEADLINE
7         tristate "MQ deadline I/O scheduler"
8         default y
9         help
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
17
18 config MQ_IOSCHED_KYBER
19         tristate "Kyber I/O scheduler"
20         default y
21         help
22           The Kyber I/O scheduler is a low-overhead scheduler suitable for
23           multiqueue and other fast devices. Given target latencies for reads and
24           synchronous writes, it will self-tune queue depths to achieve that
25           goal.
26
27 config IOSCHED_BFQ
28         tristate "BFQ I/O scheduler"
29         help
30         BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
31         of the device among all processes according to their weights,
32         regardless of the device parameters and with any workload. It
33         also guarantees a low latency to interactive and soft
34         real-time applications.  Details in
35         Documentation/block/bfq-iosched.rst
36
37 config BFQ_GROUP_IOSCHED
38        bool "BFQ hierarchical scheduling support"
39        depends on IOSCHED_BFQ && BLK_CGROUP
40        select BLK_CGROUP_RWSTAT
41         help
42
43        Enable hierarchical scheduling in BFQ, using the blkio
44        (cgroups-v1) or io (cgroups-v2) controller.
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
53 endmenu
54
55 endif