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