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