diff options
author | yangerkun <yangerkun@huawei.com> | 2020-09-19 11:54:25 +0800 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-09-29 08:11:00 -0600 |
commit | 76cffccd606acffde1b91e8b029b39b5fd1a3117 (patch) | |
tree | 67bbb2d9c523f52e45957443fc03e87a05a1927d /block | |
parent | 8229cca8c3ea70bcb3b73aa105ae1d00aafbd3c8 (diff) | |
download | lwn-76cffccd606acffde1b91e8b029b39b5fd1a3117.tar.gz lwn-76cffccd606acffde1b91e8b029b39b5fd1a3117.zip |
block-mq: fix comments in blk_mq_queue_tag_busy_iter
'f5bbbbe4d635 ("blk-mq: sync the update nr_hw_queues with
blk_mq_queue_tag_busy_iter")' introduce a bug what we may sleep between
rcu lock. Then '530ca2c9bd69 ("blk-mq: Allow blocking queue tag iter
callbacks")' fix it by get request_queue's ref. And 'a9a808084d6a ("block:
Remove the synchronize_rcu() call from __blk_mq_update_nr_hw_queues()")'
remove the synchronize_rcu in __blk_mq_update_nr_hw_queues. We need
update the confused comments in blk_mq_queue_tag_busy_iter.
Signed-off-by: yangerkun <yangerkun@huawei.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-mq-tag.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index aacf10decdbd..9c92053e704d 100644 --- a/block/blk-mq-tag.c +++ b/block/blk-mq-tag.c @@ -416,9 +416,7 @@ void blk_mq_queue_tag_busy_iter(struct request_queue *q, busy_iter_fn *fn, /* * __blk_mq_update_nr_hw_queues() updates nr_hw_queues and queue_hw_ctx * while the queue is frozen. So we can use q_usage_counter to avoid - * racing with it. __blk_mq_update_nr_hw_queues() uses - * synchronize_rcu() to ensure this function left the critical section - * below. + * racing with it. */ if (!percpu_ref_tryget(&q->q_usage_counter)) return; |