aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/null_blk.c
diff options
context:
space:
mode:
authorweiping zhang <zhangweiping@didichuxing.com>2017-09-30 09:49:21 +0800
committerJens Axboe <axboe@kernel.dk>2017-09-30 02:07:34 -0600
commitb3cffc3877a6c7edf17fd9c476f3e8d930bccec1 (patch)
tree54a3debdad390ad78e390ab03e26f785e08146fc /drivers/block/null_blk.c
parentblock: fix a build error (diff)
downloadlinux-dev-b3cffc3877a6c7edf17fd9c476f3e8d930bccec1.tar.xz
linux-dev-b3cffc3877a6c7edf17fd9c476f3e8d930bccec1.zip
null_blk: add "no_sched" module parameter
add an option that disable io scheduler for null block device. Signed-off-by: weiping zhang <zhangweiping@didichuxing.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to '')
-rw-r--r--drivers/block/null_blk.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/block/null_blk.c b/drivers/block/null_blk.c
index 8042c26ea9e6..bf2c8ca3242a 100644
--- a/drivers/block/null_blk.c
+++ b/drivers/block/null_blk.c
@@ -154,6 +154,10 @@ enum {
NULL_Q_MQ = 2,
};
+static int g_no_sched;
+module_param_named(no_sched, g_no_sched, int, S_IRUGO);
+MODULE_PARM_DESC(no_sched, "No io scheduler");
+
static int g_submit_queues = 1;
module_param_named(submit_queues, g_submit_queues, int, S_IRUGO);
MODULE_PARM_DESC(submit_queues, "Number of submission queues");
@@ -1754,6 +1758,8 @@ static int null_init_tag_set(struct nullb *nullb, struct blk_mq_tag_set *set)
set->numa_node = nullb ? nullb->dev->home_node : g_home_node;
set->cmd_size = sizeof(struct nullb_cmd);
set->flags = BLK_MQ_F_SHOULD_MERGE;
+ if (g_no_sched)
+ set->flags |= BLK_MQ_F_NO_SCHED;
set->driver_data = NULL;
if ((nullb && nullb->dev->blocking) || g_blocking)