xref: /openbmc/linux/block/Kconfig.iosched (revision 22246614)
1if BLOCK
2
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 generally a good choice for most
20	  environments, but is quite large and complex when compared to the
21	  deadline I/O scheduler, it can also be slower in some cases
22	  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	  This is the default I/O scheduler.
42
43choice
44	prompt "Default I/O scheduler"
45	default DEFAULT_CFQ
46	help
47	  Select the I/O scheduler which will be used by default for all
48	  block devices.
49
50	config DEFAULT_AS
51		bool "Anticipatory" if IOSCHED_AS=y
52
53	config DEFAULT_DEADLINE
54		bool "Deadline" if IOSCHED_DEADLINE=y
55
56	config DEFAULT_CFQ
57		bool "CFQ" if IOSCHED_CFQ=y
58
59	config DEFAULT_NOOP
60		bool "No-op"
61
62endchoice
63
64config DEFAULT_IOSCHED
65	string
66	default "anticipatory" if DEFAULT_AS
67	default "deadline" if DEFAULT_DEADLINE
68	default "cfq" if DEFAULT_CFQ
69	default "noop" if DEFAULT_NOOP
70
71endmenu
72
73endif
74