replace some function names
[linux-2.6/zen-sources.git] / block / Kconfig.iosched
blob6d3ab9828da881d24c466702622e6a5145b88545
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_FIFO
16         bool
17         default y
18         ---help---
19           A no-op scheduler that really does nothing.
21 config IOSCHED_AS
22         tristate "Anticipatory I/O scheduler"
23         default y
24         ---help---
25           The anticipatory I/O scheduler is generally a good choice for most
26           environments, but is quite large and complex when compared to the
27           deadline I/O scheduler, it can also be slower in some cases
28           especially some database loads.
30 config IOSCHED_DEADLINE
31         tristate "Deadline I/O scheduler"
32         default y
33         ---help---
34           The deadline I/O scheduler is simple and compact, and is often as
35           good as the anticipatory I/O scheduler, and in some database
36           workloads, better. In the case of a single process performing I/O to
37           a disk at any one time, its behaviour is almost identical to the
38           anticipatory I/O scheduler and so is a good choice.
40 config IOSCHED_CFQ
41         tristate "CFQ I/O scheduler"
42         default y
43         ---help---
44           The CFQ I/O scheduler tries to distribute bandwidth equally
45           among all processes in the system. It should provide a fair
46           working environment, suitable for desktop systems.
47           This is the default I/O scheduler.
49 config IOSCHED_BFQ
50         tristate "BFQ I/O scheduler"
51         default y
52         ---help---
53           The BFQ I/O scheduler tries to distribute bandwidth among
54           all processes in the system, according to their weights,
55           giving deterministic guarantees on the service provided.
57 config IOSCHED_VR
58         tristate "V(R) I/O scheduler"
59         default y
60         ---help---
61           Requests are chosen according to SSTF with a penalty of rev_penalty
62           for switching head direction.
64 choice
65         prompt "Default I/O scheduler"
66         default DEFAULT_CFQ
67         help
68           Select the I/O scheduler which will be used by default for all
69           block devices.
71         config DEFAULT_AS
72                 bool "Anticipatory" if IOSCHED_AS=y
74         config DEFAULT_DEADLINE
75                 bool "Deadline" if IOSCHED_DEADLINE=y
77         config DEFAULT_CFQ
78                 bool "CFQ" if IOSCHED_CFQ=y
80         config DEFAULT_BFQ
81                 bool "BFQ" if IOSCHED_BFQ=y
83         config DEFAULT_VR
84                 bool "V(R)" if IOSCHED_VR=y
86         config DEFAULT_NOOP
87                 bool "No-op"
89         config DEFAULT_FIFO
90                 bool "Fifo"
91 endchoice
93 config DEFAULT_IOSCHED
94         string
95         default "anticipatory" if DEFAULT_AS
96         default "deadline" if DEFAULT_DEADLINE
97         default "cfq" if DEFAULT_CFQ
98         default "bfq" if DEFAULT_BFQ
99         default "vr" if DEFAULT_VR
100         default "noop" if DEFAULT_NOOP
101         default "fifo" if DEFAULT_FIFO
102 endmenu
104 endif