Messages in this thread | | | Date | Mon, 21 Aug 2023 12:58:56 -0700 | Subject | Re: [PATCH 1/4] blk-mq-tag: support queue filter in bt_tags_iter() | From | Bart Van Assche <> |
| |
On 8/21/23 00:35, chengming.zhou@linux.dev wrote: > @@ -417,7 +425,23 @@ static void __blk_mq_all_tag_iter(struct blk_mq_tags *tags, > void blk_mq_all_tag_iter(struct blk_mq_tags *tags, busy_tag_iter_fn *fn, > void *priv) > { > - __blk_mq_all_tag_iter(tags, fn, priv, BT_TAG_ITER_STATIC_RQS); > + __blk_mq_all_tag_iter(tags, fn, priv, BT_TAG_ITER_STATIC_RQS, NULL); > +} > + > +static void __blk_mq_tagset_busy_iter(struct blk_mq_tag_set *tagset, > + busy_tag_iter_fn *fn, void *priv, > + struct request_queue *q) > +{ > + unsigned int flags = tagset->flags; > + int i, nr_tags; > + > + nr_tags = blk_mq_is_shared_tags(flags) ? 1 : tagset->nr_hw_queues; > + > + for (i = 0; i < nr_tags; i++) { > + if (tagset->tags && tagset->tags[i]) > + __blk_mq_all_tag_iter(tagset->tags[i], fn, priv, > + BT_TAG_ITER_STARTED, q); > + } > } > > /** > @@ -436,16 +460,7 @@ void blk_mq_all_tag_iter(struct blk_mq_tags *tags, busy_tag_iter_fn *fn, > void blk_mq_tagset_busy_iter(struct blk_mq_tag_set *tagset, > busy_tag_iter_fn *fn, void *priv) > { > - unsigned int flags = tagset->flags; > - int i, nr_tags; > - > - nr_tags = blk_mq_is_shared_tags(flags) ? 1 : tagset->nr_hw_queues; > - > - for (i = 0; i < nr_tags; i++) { > - if (tagset->tags && tagset->tags[i]) > - __blk_mq_all_tag_iter(tagset->tags[i], fn, priv, > - BT_TAG_ITER_STARTED); > - } > + __blk_mq_tagset_busy_iter(tagset, fn, priv, NULL); > } > EXPORT_SYMBOL(blk_mq_tagset_busy_iter);
One change per patch please. I think the introduction of __blk_mq_tagset_busy_iter() should be a separate patch instead of happening in this patch.
Thanks,
Bart.
| |