blob: 64053d67a97b783795bd9c6b3067f34dfea910f3 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
David Howells93614012006-09-30 20:45:40 +02002if BLOCK
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
4menu "IO Schedulers"
5
Jens Axboed3484992017-01-13 14:43:58 -07006config MQ_IOSCHED_DEADLINE
7 tristate "MQ deadline I/O scheduler"
8 default y
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +09009 help
Jens Axboed3484992017-01-13 14:43:58 -070010 MQ version of the deadline IO scheduler.
11
Bart Van Assche855265c2021-06-11 16:48:32 -070012config MQ_IOSCHED_DEADLINE_CGROUP
13 tristate
14 default y
15 depends on MQ_IOSCHED_DEADLINE
16 depends on BLK_CGROUP
17
Omar Sandoval00e04392017-04-14 01:00:02 -070018config MQ_IOSCHED_KYBER
19 tristate "Kyber I/O scheduler"
20 default y
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090021 help
Omar Sandoval00e04392017-04-14 01:00:02 -070022 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
Paolo Valenteaee69d72017-04-19 08:29:02 -060027config IOSCHED_BFQ
28 tristate "BFQ I/O scheduler"
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090029 help
Paolo Valenteaee69d72017-04-19 08:29:02 -060030 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
Mauro Carvalho Chehab898bd372019-04-18 19:45:00 -030035 Documentation/block/bfq-iosched.rst
Paolo Valenteaee69d72017-04-19 08:29:02 -060036
Arianna Avanzinie21b7a02017-04-12 18:23:08 +020037config BFQ_GROUP_IOSCHED
38 bool "BFQ hierarchical scheduling support"
39 depends on IOSCHED_BFQ && BLK_CGROUP
Tejun Heo1d1566462019-11-07 11:18:04 -080040 select BLK_CGROUP_RWSTAT
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090041 help
Arianna Avanzinie21b7a02017-04-12 18:23:08 +020042
43 Enable hierarchical scheduling in BFQ, using the blkio
44 (cgroups-v1) or io (cgroups-v2) controller.
45
Christoph Hellwig8060c472019-06-06 12:26:24 +020046config BFQ_CGROUP_DEBUG
47 bool "BFQ IO controller debugging"
48 depends on BFQ_GROUP_IOSCHED
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090049 help
Christoph Hellwig8060c472019-06-06 12:26:24 +020050 Enable some debugging help. Currently it exports additional stat
51 files in a cgroup which can be useful for debugging.
52
Linus Torvalds1da177e2005-04-16 15:20:36 -070053endmenu
David Howells93614012006-09-30 20:45:40 +020054
55endif