Merge tag 'nf-next-23-07-27' of https://git.kernel.org/pub/scm/linux/kernel/git/netfi...
[platform/kernel/linux-starfive.git] / block / Kconfig.iosched
1 # SPDX-License-Identifier: GPL-2.0
2 menu "IO Schedulers"
3
4 config MQ_IOSCHED_DEADLINE
5         tristate "MQ deadline I/O scheduler"
6         default y
7         help
8           MQ version of the deadline IO scheduler.
9
10 config 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
19 config 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
30 config BFQ_GROUP_IOSCHED
31        bool "BFQ hierarchical scheduling support"
32        depends on IOSCHED_BFQ && BLK_CGROUP
33        default y
34        select BLK_CGROUP_RWSTAT
35         help
36
37        Enable hierarchical scheduling in BFQ, using the blkio
38        (cgroups-v1) or io (cgroups-v2) controller.
39
40 config BFQ_CGROUP_DEBUG
41         bool "BFQ IO controller debugging"
42         depends on BFQ_GROUP_IOSCHED
43         help
44         Enable some debugging help. Currently it exports additional stat
45         files in a cgroup which can be useful for debugging.
46
47 endmenu