summaryrefslogtreecommitdiffstats
path: root/block/Kconfig.iosched
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-11-09 01:37:34 -0500
committerJeff Garzik <jgarzik@pobox.com>2005-11-09 01:37:34 -0500
commit8006fdd6dc387abaa4b683bda4868c879fd76070 (patch)
tree314b08f4923dd9ab24930e6b2ac75889c244b154 /block/Kconfig.iosched
parent18ce920a6eba05c0d55cdc95fbbadf7e4c4b457b (diff)
parent7c3983357fdaef3ae71a0d7081a4b6dcfd869d39 (diff)
downloadblackbird-op-linux-8006fdd6dc387abaa4b683bda4868c879fd76070.tar.gz
blackbird-op-linux-8006fdd6dc387abaa4b683bda4868c879fd76070.zip
Merge branch 'upstream'
Diffstat (limited to 'block/Kconfig.iosched')
-rw-r--r--block/Kconfig.iosched69
1 files changed, 69 insertions, 0 deletions
diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched
new file mode 100644
index 000000000000..f3b7753aac99
--- /dev/null
+++ b/block/Kconfig.iosched
@@ -0,0 +1,69 @@
+
+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
OpenPOWER on IntegriCloud