1 # SPDX-License-Identifier: GPL-2.0
10 The no-op I/O scheduler is a minimal scheduler that does basic merging
11 and sorting. Its main uses include non-disk based block devices like
12 memory devices, and specialised software or hardware environments
13 that do their own scheduling and require only minimal assistance from
16 config IOSCHED_DEADLINE
17 tristate "Deadline I/O scheduler"
20 The deadline I/O scheduler is simple and compact. It will provide
21 CSCAN service with FIFO expiration of requests, switching to
22 a new point in the service tree and doing a batch of IO from there
26 tristate "CFQ I/O scheduler"
29 The CFQ I/O scheduler tries to distribute bandwidth equally
30 among all processes in the system. It should provide a fair
31 and low latency working environment, suitable for both desktop
34 This is the default I/O scheduler.
36 config CFQ_GROUP_IOSCHED
37 bool "CFQ Group Scheduling support"
38 depends on IOSCHED_CFQ && BLK_CGROUP
41 Enable group IO scheduling in CFQ.
45 prompt "Default I/O scheduler"
48 Select the I/O scheduler which will be used by default for all
51 config DEFAULT_DEADLINE
52 bool "Deadline" if IOSCHED_DEADLINE=y
55 bool "CFQ" if IOSCHED_CFQ=y
62 config DEFAULT_IOSCHED
64 default "deadline" if DEFAULT_DEADLINE
65 default "cfq" if DEFAULT_CFQ
66 default "noop" if DEFAULT_NOOP
68 config MQ_IOSCHED_DEADLINE
69 tristate "MQ deadline I/O scheduler"
72 MQ version of the deadline IO scheduler.
74 config MQ_IOSCHED_KYBER
75 tristate "Kyber I/O scheduler"
78 The Kyber I/O scheduler is a low-overhead scheduler suitable for
79 multiqueue and other fast devices. Given target latencies for reads and
80 synchronous writes, it will self-tune queue depths to achieve that
84 tristate "BFQ I/O scheduler"
87 BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
88 of the device among all processes according to their weights,
89 regardless of the device parameters and with any workload. It
90 also guarantees a low latency to interactive and soft
91 real-time applications. Details in
92 Documentation/block/bfq-iosched.txt
94 config BFQ_GROUP_IOSCHED
95 bool "BFQ hierarchical scheduling support"
96 depends on IOSCHED_BFQ && BLK_CGROUP
100 Enable hierarchical scheduling in BFQ, using the blkio
101 (cgroups-v1) or io (cgroups-v2) controller.