Blame view
block/Kconfig.iosched
2.71 KB
b24413180
|
1 |
# SPDX-License-Identifier: GPL-2.0 |
9361401eb
|
2 |
if BLOCK |
1da177e4c
|
3 4 5 6 7 8 9 10 11 12 13 14 |
menu "IO Schedulers" config IOSCHED_NOOP bool default y ---help--- 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 the kernel. |
1da177e4c
|
15 16 17 18 |
config IOSCHED_DEADLINE tristate "Deadline I/O scheduler" default y ---help--- |
492af6350
|
19 20 21 22 |
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. |
1da177e4c
|
23 24 25 26 27 28 29 |
config IOSCHED_CFQ tristate "CFQ I/O scheduler" default y ---help--- The CFQ I/O scheduler tries to distribute bandwidth equally among all processes in the system. It should provide a fair |
08dc8726d
|
30 31 |
and low latency working environment, suitable for both desktop and server systems. |
a8e14b950
|
32 |
This is the default I/O scheduler. |
1da177e4c
|
33 |
|
25bc6b077
|
34 35 |
config CFQ_GROUP_IOSCHED bool "CFQ Group Scheduling support" |
afc24d49c
|
36 |
depends on IOSCHED_CFQ && BLK_CGROUP |
25bc6b077
|
37 38 39 |
default n ---help--- Enable group IO scheduling in CFQ. |
131dda7f8
|
40 |
choice |
e21b7a0b9
|
41 |
|
131dda7f8
|
42 |
prompt "Default I/O scheduler" |
b17fd9bce
|
43 |
default DEFAULT_CFQ |
131dda7f8
|
44 45 46 |
help Select the I/O scheduler which will be used by default for all block devices. |
131dda7f8
|
47 |
config DEFAULT_DEADLINE |
c6ea2ba7b
|
48 |
bool "Deadline" if IOSCHED_DEADLINE=y |
131dda7f8
|
49 50 |
config DEFAULT_CFQ |
c6ea2ba7b
|
51 |
bool "CFQ" if IOSCHED_CFQ=y |
131dda7f8
|
52 53 54 55 56 57 58 59 |
config DEFAULT_NOOP bool "No-op" endchoice config DEFAULT_IOSCHED string |
131dda7f8
|
60 61 62 |
default "deadline" if DEFAULT_DEADLINE default "cfq" if DEFAULT_CFQ default "noop" if DEFAULT_NOOP |
d34849913
|
63 64 65 66 67 |
config MQ_IOSCHED_DEADLINE tristate "MQ deadline I/O scheduler" default y ---help--- MQ version of the deadline IO scheduler. |
00e043936
|
68 69 70 71 72 73 74 75 |
config MQ_IOSCHED_KYBER tristate "Kyber I/O scheduler" default y ---help--- 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 goal. |
aee69d78d
|
76 77 78 79 80 81 82 83 84 85 |
config IOSCHED_BFQ tristate "BFQ I/O scheduler" default n ---help--- 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 Documentation/block/bfq-iosched.txt |
e21b7a0b9
|
86 87 88 89 90 91 92 93 |
config BFQ_GROUP_IOSCHED bool "BFQ hierarchical scheduling support" depends on IOSCHED_BFQ && BLK_CGROUP default n ---help--- Enable hierarchical scheduling in BFQ, using the blkio (cgroups-v1) or io (cgroups-v2) controller. |
1da177e4c
|
94 |
endmenu |
9361401eb
|
95 96 |
endif |