blob: 48d090e266fc5745be94af97ff8deb32c2726995 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001
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
Nate Diller131dda72005-10-30 15:02:19 -080041choice
42 prompt "Default I/O scheduler"
Jens Axboeb17fd9b2006-06-19 10:06:48 +020043 default DEFAULT_CFQ
Nate Diller131dda72005-10-30 15:02:19 -080044 help
45 Select the I/O scheduler which will be used by default for all
46 block devices.
47
48 config DEFAULT_AS
Jens Axboec6ea2ba2005-11-04 08:44:58 +010049 bool "Anticipatory" if IOSCHED_AS=y
Nate Diller131dda72005-10-30 15:02:19 -080050
51 config DEFAULT_DEADLINE
Jens Axboec6ea2ba2005-11-04 08:44:58 +010052 bool "Deadline" if IOSCHED_DEADLINE=y
Nate Diller131dda72005-10-30 15:02:19 -080053
54 config DEFAULT_CFQ
Jens Axboec6ea2ba2005-11-04 08:44:58 +010055 bool "CFQ" if IOSCHED_CFQ=y
Nate Diller131dda72005-10-30 15:02:19 -080056
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
Linus Torvalds1da177e2005-04-16 15:20:36 -070069endmenu