OSDN Git Service

Merge android-4.4.160 (a94efb1) into msm-4.4
[sagit-ice-cold/kernel_xiaomi_msm8998.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_TEST
16         tristate "Test I/O scheduler"
17         depends on DEBUG_FS
18         default m
19         ---help---
20           The test I/O scheduler is a duplicate of the noop scheduler with
21           addition of test utlity.
22           It allows testing a block device by dispatching specific requests
23           according to the test case and declare PASS/FAIL according to the
24           requests completion error code.
25
26 config IOSCHED_DEADLINE
27         tristate "Deadline I/O scheduler"
28         default y
29         ---help---
30           The deadline I/O scheduler is simple and compact. It will provide
31           CSCAN service with FIFO expiration of requests, switching to
32           a new point in the service tree and doing a batch of IO from there
33           in case of expiry.
34
35 config IOSCHED_CFQ
36         tristate "CFQ I/O scheduler"
37         default y
38         ---help---
39           The CFQ I/O scheduler tries to distribute bandwidth equally
40           among all processes in the system. It should provide a fair
41           and low latency working environment, suitable for both desktop
42           and server systems.
43
44           This is the default I/O scheduler.
45
46 config CFQ_GROUP_IOSCHED
47         bool "CFQ Group Scheduling support"
48         depends on IOSCHED_CFQ && BLK_CGROUP
49         default n
50         ---help---
51           Enable group IO scheduling in CFQ.
52
53 choice
54         prompt "Default I/O scheduler"
55         default DEFAULT_CFQ
56         help
57           Select the I/O scheduler which will be used by default for all
58           block devices.
59
60         config DEFAULT_DEADLINE
61                 bool "Deadline" if IOSCHED_DEADLINE=y
62
63         config DEFAULT_CFQ
64                 bool "CFQ" if IOSCHED_CFQ=y
65
66         config DEFAULT_NOOP
67                 bool "No-op"
68
69 endchoice
70
71 config DEFAULT_IOSCHED
72         string
73         default "deadline" if DEFAULT_DEADLINE
74         default "cfq" if DEFAULT_CFQ
75         default "noop" if DEFAULT_NOOP
76
77 endmenu
78
79 endif