blob: 903f0d3b68520a94a5a76222b31c6860ba57de20 [file] [log] [blame]
David Howells93614012006-09-30 20:45:40 +02001if BLOCK
Linus Torvalds1da177e2005-04-16 15:20:36 -07002
3menu "IO Schedulers"
4
5config 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.
14
15config IOSCHED_AS
16 tristate "Anticipatory I/O scheduler"
17 default y
18 ---help---
19 The anticipatory I/O scheduler is the default disk scheduler. It is
20 generally a good choice for most environments, but is quite large and
21 complex when compared to the deadline I/O scheduler, it can also be
22 slower in some cases especially some database loads.
23
24config 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.
33
34config 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
Nate Diller131dda72005-10-30 15:02:19 -080042choice
43 prompt "Default I/O scheduler"
Jens Axboeb17fd9b2006-06-19 10:06:48 +020044 default DEFAULT_CFQ
Nate Diller131dda72005-10-30 15:02:19 -080045 help
46 Select the I/O scheduler which will be used by default for all
47 block devices.
48
49 config DEFAULT_AS
Jens Axboec6ea2ba2005-11-04 08:44:58 +010050 bool "Anticipatory" if IOSCHED_AS=y
Nate Diller131dda72005-10-30 15:02:19 -080051
52 config DEFAULT_DEADLINE
Jens Axboec6ea2ba2005-11-04 08:44:58 +010053 bool "Deadline" if IOSCHED_DEADLINE=y
Nate Diller131dda72005-10-30 15:02:19 -080054
55 config DEFAULT_CFQ
Jens Axboec6ea2ba2005-11-04 08:44:58 +010056 bool "CFQ" if IOSCHED_CFQ=y
Nate Diller131dda72005-10-30 15:02:19 -080057
58 config DEFAULT_NOOP
59 bool "No-op"
60
61endchoice
62
63config DEFAULT_IOSCHED
64 string
65 default "anticipatory" if DEFAULT_AS
66 default "deadline" if DEFAULT_DEADLINE
67 default "cfq" if DEFAULT_CFQ
68 default "noop" if DEFAULT_NOOP
69
Linus Torvalds1da177e2005-04-16 15:20:36 -070070endmenu
David Howells93614012006-09-30 20:45:40 +020071
72endif