summaryrefslogtreecommitdiffstats
path: root/block/Kconfig.iosched
diff options
context:
space:
mode:
authorJens Axboe <axboe@fb.com>2017-01-13 16:43:58 -0500
committerJens Axboe <axboe@fb.com>2017-01-17 12:04:31 -0500
commitd34849913819a5e0cbfbe724dbe79df89278c524 (patch)
tree71b427fa3b22b30dc2038448ec06936018adaee4 /block/Kconfig.iosched
parent945ffb60c11dfb228130f3f2bdde961cecb76671 (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.iosched56
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
35config MQ_IOSCHED_DEADLINE
36 tristate "MQ deadline I/O scheduler"
37 default y
38 ---help---
39 MQ version of the deadline IO scheduler.
40
41config CFQ_GROUP_IOSCHED 35config 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
66config MQ_IOSCHED_DEADLINE
67 tristate "MQ deadline I/O scheduler"
68 default y
69 ---help---
70 MQ version of the deadline IO scheduler.
71
72config MQ_IOSCHED_NONE
73 bool
74 default y
75
76choice
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
89endchoice
90
91config DEFAULT_SQ_IOSCHED
92 string
93 default "mq-deadline" if DEFAULT_SQ_DEADLINE
94 default "none" if DEFAULT_SQ_NONE
95
96choice
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
109endchoice
110
111config DEFAULT_MQ_IOSCHED
112 string
113 default "mq-deadline" if DEFAULT_MQ_DEADLINE
114 default "none" if DEFAULT_MQ_NONE
115
72endmenu 116endmenu
73 117
74endif 118endif