1 2menu "IO Schedulers" 3 4config IOSCHED_NOOP 5 bool 6 default y 7 ---help--- 8 The no-op I/O scheduler is a minimal scheduler that does basic merging 9 and sorting. Its main uses include non-disk based block devices like 10 memory devices, and specialised software or hardware environments 11 that do their own scheduling and require only minimal assistance from 12 the kernel. 13 14config IOSCHED_AS 15 tristate "Anticipatory I/O scheduler" 16 default y 17 ---help--- 18 The anticipatory I/O scheduler is the default disk scheduler. It is 19 generally a good choice for most environments, but is quite large and 20 complex when compared to the deadline I/O scheduler, it can also be 21 slower in some cases especially some database loads. 22 23config IOSCHED_DEADLINE 24 tristate "Deadline I/O scheduler" 25 default y 26 ---help--- 27 The deadline I/O scheduler is simple and compact, and is often as 28 good as the anticipatory I/O scheduler, and in some database 29 workloads, better. In the case of a single process performing I/O to 30 a disk at any one time, its behaviour is almost identical to the 31 anticipatory I/O scheduler and so is a good choice. 32 33config IOSCHED_CFQ 34 tristate "CFQ I/O scheduler" 35 default y 36 ---help--- 37 The CFQ I/O scheduler tries to distribute bandwidth equally 38 among all processes in the system. It should provide a fair 39 working environment, suitable for desktop systems. 40 41choice 42 prompt "Default I/O scheduler" 43 default DEFAULT_CFQ 44 help 45 Select the I/O scheduler which will be used by default for all 46 block devices. 47 48 config DEFAULT_AS 49 bool "Anticipatory" if IOSCHED_AS=y 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 60endchoice 61 62config DEFAULT_IOSCHED 63 string 64 default "anticipatory" if DEFAULT_AS 65 default "deadline" if DEFAULT_DEADLINE 66 default "cfq" if DEFAULT_CFQ 67 default "noop" if DEFAULT_NOOP 68 69endmenu 70