[PATCH] BLOCK: Make it possible to disable the block layer [try #6]
[GitHub/LineageOS/android_kernel_samsung_universal7580.git] / block / Kconfig.iosched
1 if BLOCK
2
3 menu "IO Schedulers"
4
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.
14
15 config 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
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.
33
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
42 choice
43 prompt "Default I/O scheduler"
44 default DEFAULT_CFQ
45 help
46 Select the I/O scheduler which will be used by default for all
47 block devices.
48
49 config DEFAULT_AS
50 bool "Anticipatory" if IOSCHED_AS=y
51
52 config DEFAULT_DEADLINE
53 bool "Deadline" if IOSCHED_DEADLINE=y
54
55 config DEFAULT_CFQ
56 bool "CFQ" if IOSCHED_CFQ=y
57
58 config DEFAULT_NOOP
59 bool "No-op"
60
61 endchoice
62
63 config 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
70 endmenu
71
72 endif