diff options
Diffstat (limited to 'block/Kconfig.iosched')
-rw-r--r-- | block/Kconfig.iosched | 69 |
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 @@ | |||
1 | |||
2 | menu "IO Schedulers" | ||
3 | |||
4 | config 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 | |||
14 | config 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 | |||
23 | config 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 | |||
33 | config 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 | |||
41 | choice | ||
42 | prompt "Default I/O scheduler" | ||
43 | default DEFAULT_AS | ||
44 | help | ||
45 | Select the I/O scheduler which will be used by default for all | ||
46 | block devices. | ||
47 | |||
48 | config DEFAULT_AS | ||
49 | bool "Anticipatory" if IOSCHED_AS=y | ||
50 | |||
51 | config DEFAULT_DEADLINE | ||
52 | bool "Deadline" if IOSCHED_DEADLINE=y | ||
53 | |||
54 | config DEFAULT_CFQ | ||
55 | bool "CFQ" if IOSCHED_CFQ=y | ||
56 | |||
57 | config DEFAULT_NOOP | ||
58 | bool "No-op" | ||
59 | |||
60 | endchoice | ||
61 | |||
62 | config 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 | |||
69 | endmenu | ||