Re: [PATCH v2 3/6] blk-mq-tag: remove bt_for_each()

From: Bart Van Assche
Date: Wed Aug 23 2023 - 10:39:44 EST


On 8/23/23 02:04, chengming.zhou@xxxxxxxxx wrote:
Change the only user of bt_for_each() to use the introduced function
__blk_mq_tagset_busy_iter() to specify queue filter when iterating.

Since blk_mq_queue_tag_busy_iter() is only used to iterate over started
requests, __blk_mq_tagset_busy_iter() already have BT_TAG_ITER_STARTED
filter to iterate over started requests only, there should be no
problem.

Only one potential disadvantage I can see is that we lost the
blk_mq_hw_queue_mapped() filter, which maybe not happen for now.
Unmapped hctx was used to dynamically map or unmap when CPU hotplug,
but we don't do this anymore, we always map all possible CPUs now.
So it seems unmapped hctx may only happen if something wrong with
driver's tagset map settings.

Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx>