diff options
| author | Mike Snitzer <snitzer@redhat.com> | 2016-01-30 02:36:22 -0500 |
|---|---|---|
| committer | Mike Snitzer <snitzer@redhat.com> | 2016-02-03 14:02:55 -0500 |
| commit | cc6ca783e8f0669112c5f4154f51a7cb17b76006 (patch) | |
| tree | 369f3cc7bd0c9d62383a13919c3bb0e6099083ff | |
| parent | b74bc846bf4e664a46b4f8afb0e16bc91105b1db (diff) | |
| download | linux-dm-cc6ca783e8f0669112c5f4154f51a7cb17b76006.tar.gz | |
dm: don't blk_mq_run_hw_queues in blk-mq request completion
Notice: this object is not reachable from any branch.
Motivated by desire to reduce overhead of dm-mq request completion by
not punting to kblockd (as happens when async=true in call to
blk_mq_run_hw_queues).
In my testing against a really fast null_blk device there was no benefit
to running blk_mq_run_hw_queues on completion (and no other blk-mq
driver does this). So hopefully this change doesn't induce the need for
yet another revert like commit 621739b00e16ca2d !
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Notice: this object is not reachable from any branch.
| -rw-r--r-- | drivers/md/dm.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index fc846a5290cc8..180fe06077088 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -1118,12 +1118,8 @@ static void rq_completed(struct mapped_device *md, int rw, bool run_queue) * back into ->request_fn() could deadlock attempting to grab the * queue lock again. */ - if (run_queue) { - if (md->queue->mq_ops) - blk_mq_run_hw_queues(md->queue, true); - else - blk_run_queue_async(md->queue); - } + if (!md->queue->mq_ops && run_queue) + blk_run_queue_async(md->queue); /* * dm_put() must be at the end of this function. See the comment above |
