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_AS 11 tristate "Kyber I/O scheduler" !! 16 tristate "Anticipatory I/O scheduler" 12 default y 17 default y 13 help !! 18 ---help--- 14 The Kyber I/O scheduler is a low-ove !! 19 The anticipatory I/O scheduler is generally a good choice for most 15 multiqueue and other fast devices. G !! 20 environments, but is quite large and complex when compared to the 16 synchronous writes, it will self-tun !! 21 deadline I/O scheduler, it can also be slower in some cases 17 goal. !! 22 especially some database loads. 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 23 37 Enable hierarchical scheduling in BFQ, !! 24 config IOSCHED_DEADLINE 38 (cgroups-v1) or io (cgroups-v2) control !! 25 tristate "Deadline I/O scheduler" >> 26 default y >> 27 ---help--- >> 28 The deadline I/O scheduler is simple and compact, and is often as >> 29 good as the anticipatory I/O scheduler, and in some database >> 30 workloads, better. In the case of a single process performing I/O to >> 31 a disk at any one time, its behaviour is almost identical to the >> 32 anticipatory I/O scheduler and so is a good choice. 39 33 40 config BFQ_CGROUP_DEBUG !! 34 config IOSCHED_CFQ 41 bool "BFQ IO controller debugging" !! 35 tristate "CFQ I/O scheduler" 42 depends on BFQ_GROUP_IOSCHED !! 36 default y >> 37 ---help--- >> 38 The CFQ I/O scheduler tries to distribute bandwidth equally >> 39 among all processes in the system. It should provide a fair >> 40 working environment, suitable for desktop systems. >> 41 This is the default I/O scheduler. >> 42 >> 43 choice >> 44 prompt "Default I/O scheduler" >> 45 default DEFAULT_CFQ 43 help 46 help 44 Enable some debugging help. Currently !! 47 Select the I/O scheduler which will be used by default for all 45 files in a cgroup which can be useful !! 48 block devices. >> 49 >> 50 config DEFAULT_AS >> 51 bool "Anticipatory" if IOSCHED_AS=y >> 52 >> 53 config DEFAULT_DEADLINE >> 54 bool "Deadline" if IOSCHED_DEADLINE=y >> 55 >> 56 config DEFAULT_CFQ >> 57 bool "CFQ" if IOSCHED_CFQ=y >> 58 >> 59 config DEFAULT_NOOP >> 60 bool "No-op" >> 61 >> 62 endchoice >> 63 >> 64 config DEFAULT_IOSCHED >> 65 string >> 66 default "anticipatory" if DEFAULT_AS >> 67 default "deadline" if DEFAULT_DEADLINE >> 68 default "cfq" if DEFAULT_CFQ >> 69 default "noop" if DEFAULT_NOOP 46 70 47 endmenu 71 endmenu >> 72 >> 73 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.