xref: /openbmc/linux/block/Kconfig.iosched (revision 8dda2eac)
1# SPDX-License-Identifier: GPL-2.0
2if BLOCK
3
4menu "IO Schedulers"
5
6config MQ_IOSCHED_DEADLINE
7	tristate "MQ deadline I/O scheduler"
8	default y
9	help
10	  MQ version of the deadline IO scheduler.
11
12config MQ_IOSCHED_DEADLINE_CGROUP
13       tristate
14       default y
15       depends on MQ_IOSCHED_DEADLINE
16       depends on BLK_CGROUP
17
18config 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
27config 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
37config 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
46config 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
53endmenu
54
55endif
56