mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 16:29:59 +00:00
![Jens Axboe](/assets/img/avatar_default.png)
With the recent reorg of the io scheduler selection, it unfortunately became possible to select an io scheduler to be the default even if it wasn't builtin. Fix this by requiring the default scheduler to be builtin. Signed-off-by: Jens Axboe <axboe@suse.de>
69 lines
1.9 KiB
Text
69 lines
1.9 KiB
Text
|
|
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 the default disk scheduler. It 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.
|
|
|
|
choice
|
|
prompt "Default I/O scheduler"
|
|
default DEFAULT_AS
|
|
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
|