1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 >> 2 if BLOCK >> 3 2 menu "IO Schedulers" 4 menu "IO Schedulers" 3 5 >> 6 config IOSCHED_NOOP >> 7 bool >> 8 default y >> 9 ---help--- >> 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 >> 14 the kernel. >> 15 >> 16 config IOSCHED_DEADLINE >> 17 tristate "Deadline I/O scheduler" >> 18 default y >> 19 ---help--- >> 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 >> 23 in case of expiry. >> 24 >> 25 config IOSCHED_CFQ >> 26 tristate "CFQ I/O scheduler" >> 27 default y >> 28 ---help--- >> 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 >> 32 and server systems. >> 33 >> 34 This is the default I/O scheduler. >> 35 >> 36 config CFQ_GROUP_IOSCHED >> 37 bool "CFQ Group Scheduling support" >> 38 depends on IOSCHED_CFQ && BLK_CGROUP >> 39 default n >> 40 ---help--- >> 41 Enable group IO scheduling in CFQ. >> 42 >> 43 choice >> 44 >> 45 prompt "Default I/O scheduler" >> 46 default DEFAULT_CFQ >> 47 help >> 48 Select the I/O scheduler which will be used by default for all >> 49 block devices. >> 50 >> 51 config DEFAULT_DEADLINE >> 52 bool "Deadline" if IOSCHED_DEADLINE=y >> 53 >> 54 config DEFAULT_CFQ >> 55 bool "CFQ" if IOSCHED_CFQ=y >> 56 >> 57 config DEFAULT_NOOP >> 58 bool "No-op" >> 59 >> 60 endchoice >> 61 >> 62 config DEFAULT_IOSCHED >> 63 string >> 64 default "deadline" if DEFAULT_DEADLINE >> 65 default "cfq" if DEFAULT_CFQ >> 66 default "noop" if DEFAULT_NOOP >> 67 4 config MQ_IOSCHED_DEADLINE 68 config MQ_IOSCHED_DEADLINE 5 tristate "MQ deadline I/O scheduler" 69 tristate "MQ deadline I/O scheduler" 6 default y 70 default y 7 help !! 71 ---help--- 8 MQ version of the deadline IO schedu 72 MQ version of the deadline IO scheduler. 9 73 10 config MQ_IOSCHED_KYBER 74 config MQ_IOSCHED_KYBER 11 tristate "Kyber I/O scheduler" 75 tristate "Kyber I/O scheduler" 12 default y 76 default y 13 help !! 77 ---help--- 14 The Kyber I/O scheduler is a low-ove 78 The Kyber I/O scheduler is a low-overhead scheduler suitable for 15 multiqueue and other fast devices. G 79 multiqueue and other fast devices. Given target latencies for reads and 16 synchronous writes, it will self-tun 80 synchronous writes, it will self-tune queue depths to achieve that 17 goal. 81 goal. 18 82 19 config IOSCHED_BFQ 83 config IOSCHED_BFQ 20 tristate "BFQ I/O scheduler" 84 tristate "BFQ I/O scheduler" 21 select BLK_ICQ !! 85 default n 22 help !! 86 ---help--- 23 BFQ I/O scheduler for BLK-MQ. BFQ dist 87 BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of 24 of the device among all processes acco 88 of the device among all processes according to their weights, 25 regardless of the device parameters an 89 regardless of the device parameters and with any workload. It 26 also guarantees a low latency to inter 90 also guarantees a low latency to interactive and soft 27 real-time applications. Details in 91 real-time applications. Details in 28 Documentation/block/bfq-iosched.rst !! 92 Documentation/block/bfq-iosched.txt 29 93 30 config BFQ_GROUP_IOSCHED 94 config BFQ_GROUP_IOSCHED 31 bool "BFQ hierarchical scheduling suppo 95 bool "BFQ hierarchical scheduling support" 32 depends on IOSCHED_BFQ && BLK_CGROUP 96 depends on IOSCHED_BFQ && BLK_CGROUP 33 default y !! 97 default n 34 select BLK_CGROUP_RWSTAT !! 98 ---help--- 35 help << 36 99 37 Enable hierarchical scheduling in BFQ, 100 Enable hierarchical scheduling in BFQ, using the blkio 38 (cgroups-v1) or io (cgroups-v2) control 101 (cgroups-v1) or io (cgroups-v2) controller. 39 102 40 config BFQ_CGROUP_DEBUG << 41 bool "BFQ IO controller debugging" << 42 depends on BFQ_GROUP_IOSCHED << 43 help << 44 Enable some debugging help. Currently << 45 files in a cgroup which can be useful << 46 << 47 endmenu 103 endmenu >> 104 >> 105 endif
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.