diff options
author | Jens Axboe <axboe@fb.com> | 2017-01-13 16:43:58 -0500 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2017-01-17 12:04:31 -0500 |
commit | d34849913819a5e0cbfbe724dbe79df89278c524 (patch) | |
tree | 71b427fa3b22b30dc2038448ec06936018adaee4 /block/Kconfig.iosched | |
parent | 945ffb60c11dfb228130f3f2bdde961cecb76671 (diff) |
blk-mq-sched: allow setting of default IO scheduler
Add Kconfig entries to manage what devices get assigned an MQ
scheduler, and add a blk-mq flag for drivers to opt out of scheduling.
The latter is useful for admin type queues that still allocate a blk-mq
queue and tag set, but aren't use for normal IO.
Signed-off-by: Jens Axboe <axboe@fb.com>
Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com>
Reviewed-by: Omar Sandoval <osandov@fb.com>
Diffstat (limited to 'block/Kconfig.iosched')
-rw-r--r-- | block/Kconfig.iosched | 56 |
1 files changed, 50 insertions, 6 deletions
diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched index 490ef2850fae..0715ce93daef 100644 --- a/block/Kconfig.iosched +++ b/block/Kconfig.iosched | |||
@@ -32,12 +32,6 @@ config IOSCHED_CFQ | |||
32 | 32 | ||
33 | This is the default I/O scheduler. | 33 | This is the default I/O scheduler. |
34 | 34 | ||
35 | config MQ_IOSCHED_DEADLINE | ||
36 | tristate "MQ deadline I/O scheduler" | ||
37 | default y | ||
38 | ---help--- | ||
39 | MQ version of the deadline IO scheduler. | ||
40 | |||
41 | config CFQ_GROUP_IOSCHED | 35 | config CFQ_GROUP_IOSCHED |
42 | bool "CFQ Group Scheduling support" | 36 | bool "CFQ Group Scheduling support" |
43 | depends on IOSCHED_CFQ && BLK_CGROUP | 37 | depends on IOSCHED_CFQ && BLK_CGROUP |
@@ -69,6 +63,56 @@ config DEFAULT_IOSCHED | |||
69 | default "cfq" if DEFAULT_CFQ | 63 | default "cfq" if DEFAULT_CFQ |
70 | default "noop" if DEFAULT_NOOP | 64 | default "noop" if DEFAULT_NOOP |
71 | 65 | ||
66 | config MQ_IOSCHED_DEADLINE | ||
67 | tristate "MQ deadline I/O scheduler" | ||
68 | default y | ||
69 | ---help--- | ||
70 | MQ version of the deadline IO scheduler. | ||
71 | |||
72 | config MQ_IOSCHED_NONE | ||
73 | bool | ||
74 | default y | ||
75 | |||
76 | choice | ||
77 | prompt "Default single-queue blk-mq I/O scheduler" | ||
78 | default DEFAULT_SQ_NONE | ||
79 | help | ||
80 | Select the I/O scheduler which will be used by default for blk-mq | ||
81 | managed block devices with a single queue. | ||
82 | |||
83 | config DEFAULT_SQ_DEADLINE | ||
84 | bool "MQ Deadline" if MQ_IOSCHED_DEADLINE=y | ||
85 | |||
86 | config DEFAULT_SQ_NONE | ||
87 | bool "None" | ||
88 | |||
89 | endchoice | ||
90 | |||
91 | config DEFAULT_SQ_IOSCHED | ||
92 | string | ||
93 | default "mq-deadline" if DEFAULT_SQ_DEADLINE | ||
94 | default "none" if DEFAULT_SQ_NONE | ||
95 | |||
96 | choice | ||
97 | prompt "Default multi-queue blk-mq I/O scheduler" | ||
98 | default DEFAULT_MQ_NONE | ||
99 | help | ||
100 | Select the I/O scheduler which will be used by default for blk-mq | ||
101 | managed block devices with multiple queues. | ||
102 | |||
103 | config DEFAULT_MQ_DEADLINE | ||
104 | bool "MQ Deadline" if MQ_IOSCHED_DEADLINE=y | ||
105 | |||
106 | config DEFAULT_MQ_NONE | ||
107 | bool "None" | ||
108 | |||
109 | endchoice | ||
110 | |||
111 | config DEFAULT_MQ_IOSCHED | ||
112 | string | ||
113 | default "mq-deadline" if DEFAULT_MQ_DEADLINE | ||
114 | default "none" if DEFAULT_MQ_NONE | ||
115 | |||
72 | endmenu | 116 | endmenu |
73 | 117 | ||
74 | endif | 118 | endif |