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
40 Enable group IO scheduling in CFQ.
44 prompt "Default I/O scheduler"
47 Select the I/O scheduler which will be used by default for all
50 config DEFAULT_DEADLINE
51 bool "Deadline" if IOSCHED_DEADLINE=y
54 bool "CFQ" if IOSCHED_CFQ=y
61 config DEFAULT_IOSCHED
63 default "deadline" if DEFAULT_DEADLINE
64 default "cfq" if DEFAULT_CFQ
65 default "noop" if DEFAULT_NOOP
67 config MQ_IOSCHED_DEADLINE
68 tristate "MQ deadline I/O scheduler"
71 MQ version of the deadline IO scheduler.
73 config MQ_IOSCHED_KYBER
74 tristate "Kyber I/O scheduler"
77 The Kyber I/O scheduler is a low-overhead scheduler suitable for
78 multiqueue and other fast devices. Given target latencies for reads and
79 synchronous writes, it will self-tune queue depths to achieve that
83 tristate "BFQ I/O scheduler"
85 BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
86 of the device among all processes according to their weights,
87 regardless of the device parameters and with any workload. It
88 also guarantees a low latency to interactive and soft
89 real-time applications. Details in
90 Documentation/block/bfq-iosched.txt
92 config BFQ_GROUP_IOSCHED
93 bool "BFQ hierarchical scheduling support"
94 depends on IOSCHED_BFQ && BLK_CGROUP
97 Enable hierarchical scheduling in BFQ, using the blkio
98 (cgroups-v1) or io (cgroups-v2) controller.