summaryrefslogtreecommitdiffstats
path: root/drivers/block/null_blk.c
diff options
context:
space:
mode:
authorweiping zhang2017-09-30 03:49:21 +0200
committerJens Axboe2017-09-30 10:07:34 +0200
commitb3cffc3877a6c7edf17fd9c476f3e8d930bccec1 (patch)
tree54a3debdad390ad78e390ab03e26f785e08146fc /drivers/block/null_blk.c
parentblock: fix a build error (diff)
downloadkernel-qcow2-linux-b3cffc3877a6c7edf17fd9c476f3e8d930bccec1.tar.gz
kernel-qcow2-linux-b3cffc3877a6c7edf17fd9c476f3e8d930bccec1.tar.xz
kernel-qcow2-linux-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 'drivers/block/null_blk.c')
-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)