aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@redhat.com>2016-01-30 02:36:22 -0500
committerMike Snitzer <snitzer@redhat.com>2016-02-03 14:02:55 -0500
commitcc6ca783e8f0669112c5f4154f51a7cb17b76006 (patch)
tree369f3cc7bd0c9d62383a13919c3bb0e6099083ff
parentb74bc846bf4e664a46b4f8afb0e16bc91105b1db (diff)
downloadlinux-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.c8
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