162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_cimenu "IO Schedulers"
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciconfig MQ_IOSCHED_DEADLINE
562306a36Sopenharmony_ci	tristate "MQ deadline I/O scheduler"
662306a36Sopenharmony_ci	default y
762306a36Sopenharmony_ci	help
862306a36Sopenharmony_ci	  MQ version of the deadline IO scheduler.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciconfig MQ_IOSCHED_KYBER
1162306a36Sopenharmony_ci	tristate "Kyber I/O scheduler"
1262306a36Sopenharmony_ci	default y
1362306a36Sopenharmony_ci	help
1462306a36Sopenharmony_ci	  The Kyber I/O scheduler is a low-overhead scheduler suitable for
1562306a36Sopenharmony_ci	  multiqueue and other fast devices. Given target latencies for reads and
1662306a36Sopenharmony_ci	  synchronous writes, it will self-tune queue depths to achieve that
1762306a36Sopenharmony_ci	  goal.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciconfig IOSCHED_BFQ
2062306a36Sopenharmony_ci	tristate "BFQ I/O scheduler"
2162306a36Sopenharmony_ci	select BLK_ICQ
2262306a36Sopenharmony_ci	help
2362306a36Sopenharmony_ci	BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
2462306a36Sopenharmony_ci	of the device among all processes according to their weights,
2562306a36Sopenharmony_ci	regardless of the device parameters and with any workload. It
2662306a36Sopenharmony_ci	also guarantees a low latency to interactive and soft
2762306a36Sopenharmony_ci	real-time applications.  Details in
2862306a36Sopenharmony_ci	Documentation/block/bfq-iosched.rst
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciconfig BFQ_GROUP_IOSCHED
3162306a36Sopenharmony_ci       bool "BFQ hierarchical scheduling support"
3262306a36Sopenharmony_ci       depends on IOSCHED_BFQ && BLK_CGROUP
3362306a36Sopenharmony_ci       default y
3462306a36Sopenharmony_ci       select BLK_CGROUP_RWSTAT
3562306a36Sopenharmony_ci	help
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci       Enable hierarchical scheduling in BFQ, using the blkio
3862306a36Sopenharmony_ci       (cgroups-v1) or io (cgroups-v2) controller.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciconfig BFQ_CGROUP_DEBUG
4162306a36Sopenharmony_ci	bool "BFQ IO controller debugging"
4262306a36Sopenharmony_ci	depends on BFQ_GROUP_IOSCHED
4362306a36Sopenharmony_ci	help
4462306a36Sopenharmony_ci	Enable some debugging help. Currently it exports additional stat
4562306a36Sopenharmony_ci	files in a cgroup which can be useful for debugging.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciendmenu
48