if BLOCK menu "IO Schedulers" config IOSCHED_NOOP bool default y ---help--- The no-op I/O scheduler is a minimal scheduler that does basic merging and sorting. Its main uses include non-disk based block devices like memory devices, and specialised software or hardware environments that do their own scheduling and require only minimal assistance from the kernel. config IOSCHED_AS tristate "Anticipatory I/O scheduler" default y ---help--- The anticipatory I/O scheduler is generally a good choice for most environments, but is quite large and complex when compared to the deadline I/O scheduler, it can also be slower in some cases especially some database loads. config IOSCHED_DEADLINE tristate "Deadline I/O scheduler" default y ---help--- The deadline I/O scheduler is simple and compact, and is often as good as the anticipatory I/O scheduler, and in some database workloads, better. In the case of a single process performing I/O to a disk at any one time, its behaviour is almost identical to the anticipatory I/O scheduler and so is a good choice. config IOSCHED_CFQ tristate "CFQ I/O scheduler" default y ---help--- The CFQ I/O scheduler tries to distribute bandwidth equally among all processes in the system. It should provide a fair working environment, suitable for desktop systems. This is the default I/O scheduler. choice prompt "Default I/O scheduler" default DEFAULT_CFQ help Select the I/O scheduler which will be used by default for all block devices. config DEFAULT_AS bool "Anticipatory" if IOSCHED_AS=y config DEFAULT_DEADLINE bool "Deadline" if IOSCHED_DEADLINE=y config DEFAULT_CFQ bool "CFQ" if IOSCHED_CFQ=y config DEFAULT_NOOP bool "No-op" endchoice config DEFAULT_IOSCHED string default "anticipatory" if DEFAULT_AS default "deadline" if DEFAULT_DEADLINE default "cfq" if DEFAULT_CFQ default "noop" if DEFAULT_NOOP endmenu endif