diff mbox series

block-mq: fix comments in blk_mq_queue_tag_busy_iter

Message ID 20200919035425.3316563-1-yangerkun@huawei.com (mailing list archive)
State New, archived
Headers show
Series block-mq: fix comments in blk_mq_queue_tag_busy_iter | expand

Commit Message

yangerkun Sept. 19, 2020, 3:54 a.m. UTC
'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>
---
 block/blk-mq-tag.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

yangerkun Sept. 29, 2020, 1:18 a.m. UTC | #1
Ping...

在 2020/9/19 11:54, yangerkun 写道:
> '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>
> ---
>   block/blk-mq-tag.c | 4 +---
>   1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c
> index 32d82e23b095..051227bd5a03 100644
> --- a/block/blk-mq-tag.c
> +++ b/block/blk-mq-tag.c
> @@ -398,9 +398,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;
>
Jens Axboe Sept. 29, 2020, 2:11 p.m. UTC | #2
On 9/18/20 9:54 PM, yangerkun wrote:
> '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.

Applied, thanks.
diff mbox series

Patch

diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c
index 32d82e23b095..051227bd5a03 100644
--- a/block/blk-mq-tag.c
+++ b/block/blk-mq-tag.c
@@ -398,9 +398,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;