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