summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorMing Lei <ming.lei@redhat.com>2017-05-02 07:28:02 +0800
committerJens Axboe <axboe@fb.com>2017-05-02 11:33:08 -0600
commit7a148c2fcff83309748bfaafe121aa85b724624f (patch)
tree931f0857f3019dedc0282ceeb036af274f42b77e /block
parentd6296d39e90c9075bc2fc15f1e86dac44930d4b5 (diff)
downloadlinux-7a148c2fcff83309748bfaafe121aa85b724624f.tar.gz
linux-7a148c2fcff83309748bfaafe121aa85b724624f.tar.bz2
linux-7a148c2fcff83309748bfaafe121aa85b724624f.zip
block: don't call blk_mq_quiesce_queue() after queue is frozen
After queue is frozen, no request in this queue can be in use at all, so there can't be any .queue_rq() running on this queue. It isn't necessary to call blk_mq_quiesce_queue() any more, so remove it in both elevator_switch_mq() and blk_mq_update_nr_requests(). Cc: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Ming Lei <ming.lei@redhat.com> Fixed up the description a bit. Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block')
-rw-r--r--block/blk-mq.c2
-rw-r--r--block/elevator.c3
2 files changed, 0 insertions, 5 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c
index b81e4a7cd7f2..e339247a2570 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -2609,7 +2609,6 @@ int blk_mq_update_nr_requests(struct request_queue *q, unsigned int nr)
return -EINVAL;
blk_mq_freeze_queue(q);
- blk_mq_quiesce_queue(q);
ret = 0;
queue_for_each_hw_ctx(q, hctx, i) {
@@ -2635,7 +2634,6 @@ int blk_mq_update_nr_requests(struct request_queue *q, unsigned int nr)
q->nr_requests = nr;
blk_mq_unfreeze_queue(q);
- blk_mq_start_stopped_hw_queues(q, true);
return ret;
}
diff --git a/block/elevator.c b/block/elevator.c
index 80f485451096..ab726a5c0bf6 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -950,7 +950,6 @@ static int elevator_switch_mq(struct request_queue *q,
int ret;
blk_mq_freeze_queue(q);
- blk_mq_quiesce_queue(q);
if (q->elevator) {
if (q->elevator->registered)
@@ -978,9 +977,7 @@ static int elevator_switch_mq(struct request_queue *q,
out:
blk_mq_unfreeze_queue(q);
- blk_mq_start_stopped_hw_queues(q, true);
return ret;
-
}
/*