Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[platform/kernel/linux-rpi.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_KYBER
13         tristate "Kyber I/O scheduler"
14         default y
15         ---help---
16           The Kyber I/O scheduler is a low-overhead scheduler suitable for
17           multiqueue and other fast devices. Given target latencies for reads and
18           synchronous writes, it will self-tune queue depths to achieve that
19           goal.
20
21 config IOSCHED_BFQ
22         tristate "BFQ I/O scheduler"
23         ---help---
24         BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
25         of the device among all processes according to their weights,
26         regardless of the device parameters and with any workload. It
27         also guarantees a low latency to interactive and soft
28         real-time applications.  Details in
29         Documentation/block/bfq-iosched.rst
30
31 config BFQ_GROUP_IOSCHED
32        bool "BFQ hierarchical scheduling support"
33        depends on IOSCHED_BFQ && BLK_CGROUP
34        ---help---
35
36        Enable hierarchical scheduling in BFQ, using the blkio
37        (cgroups-v1) or io (cgroups-v2) controller.
38
39 config 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
46 endmenu
47
48 endif