18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ciif BLOCK
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_cimenu "IO Schedulers"
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig MQ_IOSCHED_DEADLINE
78c2ecf20Sopenharmony_ci	tristate "MQ deadline I/O scheduler"
88c2ecf20Sopenharmony_ci	default y
98c2ecf20Sopenharmony_ci	help
108c2ecf20Sopenharmony_ci	  MQ version of the deadline IO scheduler.
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciconfig MQ_IOSCHED_KYBER
138c2ecf20Sopenharmony_ci	tristate "Kyber I/O scheduler"
148c2ecf20Sopenharmony_ci	default y
158c2ecf20Sopenharmony_ci	help
168c2ecf20Sopenharmony_ci	  The Kyber I/O scheduler is a low-overhead scheduler suitable for
178c2ecf20Sopenharmony_ci	  multiqueue and other fast devices. Given target latencies for reads and
188c2ecf20Sopenharmony_ci	  synchronous writes, it will self-tune queue depths to achieve that
198c2ecf20Sopenharmony_ci	  goal.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciconfig IOSCHED_BFQ
228c2ecf20Sopenharmony_ci	tristate "BFQ I/O scheduler"
238c2ecf20Sopenharmony_ci	help
248c2ecf20Sopenharmony_ci	BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
258c2ecf20Sopenharmony_ci	of the device among all processes according to their weights,
268c2ecf20Sopenharmony_ci	regardless of the device parameters and with any workload. It
278c2ecf20Sopenharmony_ci	also guarantees a low latency to interactive and soft
288c2ecf20Sopenharmony_ci	real-time applications.  Details in
298c2ecf20Sopenharmony_ci	Documentation/block/bfq-iosched.rst
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciconfig BFQ_GROUP_IOSCHED
328c2ecf20Sopenharmony_ci       bool "BFQ hierarchical scheduling support"
338c2ecf20Sopenharmony_ci       depends on IOSCHED_BFQ && BLK_CGROUP
348c2ecf20Sopenharmony_ci       select BLK_CGROUP_RWSTAT
358c2ecf20Sopenharmony_ci	help
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci       Enable hierarchical scheduling in BFQ, using the blkio
388c2ecf20Sopenharmony_ci       (cgroups-v1) or io (cgroups-v2) controller.
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ciconfig BFQ_CGROUP_DEBUG
418c2ecf20Sopenharmony_ci	bool "BFQ IO controller debugging"
428c2ecf20Sopenharmony_ci	depends on BFQ_GROUP_IOSCHED
438c2ecf20Sopenharmony_ci	help
448c2ecf20Sopenharmony_ci	Enable some debugging help. Currently it exports additional stat
458c2ecf20Sopenharmony_ci	files in a cgroup which can be useful for debugging.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ciendmenu
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciendif
50