Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus...
[pv_ops_mirror.git] / block / Kconfig.iosched
blob7e803fc887700604b47401b7d82512c48e95e6e1
1 if BLOCK
3 menu "IO Schedulers"
5 config IOSCHED_NOOP
6         bool
7         default y
8         ---help---
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.
15 config IOSCHED_AS
16         tristate "Anticipatory I/O scheduler"
17         default y
18         ---help---
19           The anticipatory I/O scheduler is generally a good choice for most
20           environments, but is quite large and complex when compared to the
21           deadline I/O scheduler, it can also be slower in some cases
22           especially some database loads.
24 config IOSCHED_DEADLINE
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.
34 config IOSCHED_CFQ
35         tristate "CFQ I/O scheduler"
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.
43 choice
44         prompt "Default I/O scheduler"
45         default DEFAULT_CFQ
46         help
47           Select the I/O scheduler which will be used by default for all
48           block devices.
50         config DEFAULT_AS
51                 bool "Anticipatory" if IOSCHED_AS=y
53         config DEFAULT_DEADLINE
54                 bool "Deadline" if IOSCHED_DEADLINE=y
56         config DEFAULT_CFQ
57                 bool "CFQ" if IOSCHED_CFQ=y
59         config DEFAULT_NOOP
60                 bool "No-op"
62 endchoice
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
71 endmenu
73 endif