block: get rid of blk-mq default scheduler choice Kconfig entries
The wording in the entries were poor and not understandable by even deities. Kill the selection for default block scheduler, and impose a policy with sane defaults. Architected-by: Linus Torvalds <torvalds@linux-foundation.org> Reviewed-by: Omar Sandoval <osandov@fb.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
eed64951f1
commit
b86dd815ff
@ -69,50 +69,6 @@ config MQ_IOSCHED_DEADLINE
|
|||||||
---help---
|
---help---
|
||||||
MQ version of the deadline IO scheduler.
|
MQ version of the deadline IO scheduler.
|
||||||
|
|
||||||
config MQ_IOSCHED_NONE
|
|
||||||
bool
|
|
||||||
default y
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "Default single-queue blk-mq I/O scheduler"
|
|
||||||
default DEFAULT_SQ_NONE
|
|
||||||
help
|
|
||||||
Select the I/O scheduler which will be used by default for blk-mq
|
|
||||||
managed block devices with a single queue.
|
|
||||||
|
|
||||||
config DEFAULT_SQ_DEADLINE
|
|
||||||
bool "MQ Deadline" if MQ_IOSCHED_DEADLINE=y
|
|
||||||
|
|
||||||
config DEFAULT_SQ_NONE
|
|
||||||
bool "None"
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config DEFAULT_SQ_IOSCHED
|
|
||||||
string
|
|
||||||
default "mq-deadline" if DEFAULT_SQ_DEADLINE
|
|
||||||
default "none" if DEFAULT_SQ_NONE
|
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "Default multi-queue blk-mq I/O scheduler"
|
|
||||||
default DEFAULT_MQ_NONE
|
|
||||||
help
|
|
||||||
Select the I/O scheduler which will be used by default for blk-mq
|
|
||||||
managed block devices with multiple queues.
|
|
||||||
|
|
||||||
config DEFAULT_MQ_DEADLINE
|
|
||||||
bool "MQ Deadline" if MQ_IOSCHED_DEADLINE=y
|
|
||||||
|
|
||||||
config DEFAULT_MQ_NONE
|
|
||||||
bool "None"
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config DEFAULT_MQ_IOSCHED
|
|
||||||
string
|
|
||||||
default "mq-deadline" if DEFAULT_MQ_DEADLINE
|
|
||||||
default "none" if DEFAULT_MQ_NONE
|
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@ -498,15 +498,6 @@ int blk_mq_sched_init(struct request_queue *q)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
#if defined(CONFIG_DEFAULT_SQ_NONE)
|
|
||||||
if (q->nr_hw_queues == 1)
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
#if defined(CONFIG_DEFAULT_MQ_NONE)
|
|
||||||
if (q->nr_hw_queues > 1)
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mutex_lock(&q->sysfs_lock);
|
mutex_lock(&q->sysfs_lock);
|
||||||
ret = elevator_init(q, NULL);
|
ret = elevator_init(q, NULL);
|
||||||
mutex_unlock(&q->sysfs_lock);
|
mutex_unlock(&q->sysfs_lock);
|
||||||
|
@ -220,17 +220,24 @@ int elevator_init(struct request_queue *q, char *name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!e) {
|
if (!e) {
|
||||||
if (q->mq_ops && q->nr_hw_queues == 1)
|
/*
|
||||||
e = elevator_get(CONFIG_DEFAULT_SQ_IOSCHED, false);
|
* For blk-mq devices, we default to using mq-deadline,
|
||||||
else if (q->mq_ops)
|
* if available, for single queue devices. If deadline
|
||||||
e = elevator_get(CONFIG_DEFAULT_MQ_IOSCHED, false);
|
* isn't available OR we have multiple queues, default
|
||||||
else
|
* to "none".
|
||||||
|
*/
|
||||||
|
if (q->mq_ops) {
|
||||||
|
if (q->nr_hw_queues == 1)
|
||||||
|
e = elevator_get("mq-deadline", false);
|
||||||
|
if (!e)
|
||||||
|
return 0;
|
||||||
|
} else
|
||||||
e = elevator_get(CONFIG_DEFAULT_IOSCHED, false);
|
e = elevator_get(CONFIG_DEFAULT_IOSCHED, false);
|
||||||
|
|
||||||
if (!e) {
|
if (!e) {
|
||||||
printk(KERN_ERR
|
printk(KERN_ERR
|
||||||
"Default I/O scheduler not found. " \
|
"Default I/O scheduler not found. " \
|
||||||
"Using noop/none.\n");
|
"Using noop.\n");
|
||||||
e = elevator_get("noop", false);
|
e = elevator_get("noop", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user