xref: /linux/block/Kconfig.iosched (revision 24bce201d79807b668bf9d9e0aca801c5c0d5f78)
1# SPDX-License-Identifier: GPL-2.0
2menu "IO Schedulers"
3
4config MQ_IOSCHED_DEADLINE
5	tristate "MQ deadline I/O scheduler"
6	default y
7	help
8	  MQ version of the deadline IO scheduler.
9
10config MQ_IOSCHED_KYBER
11	tristate "Kyber I/O scheduler"
12	default y
13	help
14	  The Kyber I/O scheduler is a low-overhead scheduler suitable for
15	  multiqueue and other fast devices. Given target latencies for reads and
16	  synchronous writes, it will self-tune queue depths to achieve that
17	  goal.
18
19config IOSCHED_BFQ
20	tristate "BFQ I/O scheduler"
21	select BLK_ICQ
22	help
23	BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
24	of the device among all processes according to their weights,
25	regardless of the device parameters and with any workload. It
26	also guarantees a low latency to interactive and soft
27	real-time applications.  Details in
28	Documentation/block/bfq-iosched.rst
29
30config BFQ_GROUP_IOSCHED
31       bool "BFQ hierarchical scheduling support"
32       depends on IOSCHED_BFQ && BLK_CGROUP
33       select BLK_CGROUP_RWSTAT
34	help
35
36       Enable hierarchical scheduling in BFQ, using the blkio
37       (cgroups-v1) or io (cgroups-v2) controller.
38
39config BFQ_CGROUP_DEBUG
40	bool "BFQ IO controller debugging"
41	depends on BFQ_GROUP_IOSCHED
42	help
43	Enable some debugging help. Currently it exports additional stat
44	files in a cgroup which can be useful for debugging.
45
46endmenu
47