1 # SPDX-License-Identifier: GPL-2.0 !! 1 if BLOCK >> 2 2 menu "IO Schedulers" 3 menu "IO Schedulers" 3 4 4 config MQ_IOSCHED_DEADLINE !! 5 config IOSCHED_NOOP 5 tristate "MQ deadline I/O scheduler" !! 6 bool 6 default y 7 default y 7 help !! 8 ---help--- 8 MQ version of the deadline IO schedu !! 9 The no-op I/O scheduler is a minimal scheduler that does basic merging >> 10 and sorting. Its main uses include non-disk based block devices like >> 11 memory devices, and specialised software or hardware environments >> 12 that do their own scheduling and require only minimal assistance from >> 13 the kernel. 9 14 10 config MQ_IOSCHED_KYBER !! 15 config IOSCHED_DEADLINE 11 tristate "Kyber I/O scheduler" !! 16 tristate "Deadline I/O scheduler" 12 default y 17 default y >> 18 ---help--- >> 19 The deadline I/O scheduler is simple and compact. It will provide >> 20 CSCAN service with FIFO expiration of requests, switching to >> 21 a new point in the service tree and doing a batch of IO from there >> 22 in case of expiry. >> 23 >> 24 config IOSCHED_CFQ >> 25 tristate "CFQ I/O scheduler" >> 26 default y >> 27 ---help--- >> 28 The CFQ I/O scheduler tries to distribute bandwidth equally >> 29 among all processes in the system. It should provide a fair >> 30 and low latency working environment, suitable for both desktop >> 31 and server systems. >> 32 >> 33 This is the default I/O scheduler. >> 34 >> 35 config CFQ_GROUP_IOSCHED >> 36 bool "CFQ Group Scheduling support" >> 37 depends on IOSCHED_CFQ && BLK_CGROUP >> 38 default n >> 39 ---help--- >> 40 Enable group IO scheduling in CFQ. >> 41 >> 42 choice >> 43 prompt "Default I/O scheduler" >> 44 default DEFAULT_CFQ 13 help 45 help 14 The Kyber I/O scheduler is a low-ove !! 46 Select the I/O scheduler which will be used by default for all 15 multiqueue and other fast devices. G !! 47 block devices. 16 synchronous writes, it will self-tun << 17 goal. << 18 << 19 config IOSCHED_BFQ << 20 tristate "BFQ I/O scheduler" << 21 select BLK_ICQ << 22 help << 23 BFQ I/O scheduler for BLK-MQ. BFQ dist << 24 of the device among all processes acco << 25 regardless of the device parameters an << 26 also guarantees a low latency to inter << 27 real-time applications. Details in << 28 Documentation/block/bfq-iosched.rst << 29 << 30 config BFQ_GROUP_IOSCHED << 31 bool "BFQ hierarchical scheduling suppo << 32 depends on IOSCHED_BFQ && BLK_CGROUP << 33 default y << 34 select BLK_CGROUP_RWSTAT << 35 help << 36 48 37 Enable hierarchical scheduling in BFQ, !! 49 config DEFAULT_DEADLINE 38 (cgroups-v1) or io (cgroups-v2) control !! 50 bool "Deadline" if IOSCHED_DEADLINE=y 39 51 40 config BFQ_CGROUP_DEBUG !! 52 config DEFAULT_CFQ 41 bool "BFQ IO controller debugging" !! 53 bool "CFQ" if IOSCHED_CFQ=y 42 depends on BFQ_GROUP_IOSCHED !! 54 43 help !! 55 config DEFAULT_NOOP 44 Enable some debugging help. Currently !! 56 bool "No-op" 45 files in a cgroup which can be useful !! 57 >> 58 endchoice >> 59 >> 60 config DEFAULT_IOSCHED >> 61 string >> 62 default "deadline" if DEFAULT_DEADLINE >> 63 default "cfq" if DEFAULT_CFQ >> 64 default "noop" if DEFAULT_NOOP >> 65 >> 66 config MQ_IOSCHED_DEADLINE >> 67 tristate "MQ deadline I/O scheduler" >> 68 default y >> 69 ---help--- >> 70 MQ version of the deadline IO scheduler. 46 71 47 endmenu 72 endmenu >> 73 >> 74 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.