menu "IO Schedulers"
The no-op I/O scheduler is a minimal scheduler that does basic merging
and sorting. Its main uses include non-disk based block devices like
memory devices, and specialised software or hardware environments
that do their own scheduling and require only minimal assistance from
tristate "Deadline I/O scheduler"
The deadline I/O scheduler is simple and compact. It will provide
CSCAN service with FIFO expiration of requests, switching to
a new point in the service tree and doing a batch of IO from there
in case of expiry.
tristate "CFQ I/O scheduler"
The CFQ I/O scheduler tries to distribute bandwidth equally
among all processes in the system. It should provide a fair
and low latency working environment, suitable for both desktop
and server systems.
This is the default I/O scheduler.
bool "CFQ Group Scheduling support"
depends on IOSCHED_CFQ && BLK_CGROUP
Enable group IO scheduling in CFQ.
prompt "Default I/O scheduler"
Select the I/O scheduler which will be used by default for all
bool "Deadline" if IOSCHED_DEADLINE=y
bool "CFQ" if IOSCHED_CFQ=y
default "deadline" if DEFAULT_DEADLINE
default "cfq" if DEFAULT_CFQ
default "noop" if DEFAULT_NOOP
tristate "MQ deadline I/O scheduler"
MQ version of the deadline IO scheduler.
tristate "Kyber I/O scheduler"
The Kyber I/O scheduler is a low-overhead scheduler suitable for
multiqueue and other fast devices. Given target latencies for reads and
synchronous writes, it will self-tune queue depths to achieve that
tristate "BFQ I/O scheduler"
BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
of the device among all processes according to their weights,
regardless of the device parameters and with any workload. It
also guarantees a low latency to interactive and soft
real-time applications. Details in
bool "BFQ hierarchical scheduling support"
depends on IOSCHED_BFQ && BLK_CGROUP
Enable hierarchical scheduling in BFQ, using the blkio
(cgroups-v1) or io (cgroups-v2) controller.