On 9/8/25 11:45 AM, Yu Kuai wrote: > From: Yu Kuai <yukuai3@xxxxxxxxxx> > > No functional changes are intended, make code cleaner and prepare to fix > the grow case in following patches. > > Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx> > --- > block/blk-mq.c | 28 ++++++++++++++++------------ > 1 file changed, 16 insertions(+), 12 deletions(-) > > diff --git a/block/blk-mq.c b/block/blk-mq.c > index 1ff6370f7314..82fa81036115 100644 > --- a/block/blk-mq.c > +++ b/block/blk-mq.c > @@ -4931,21 +4931,25 @@ int blk_mq_update_nr_requests(struct request_queue *q, unsigned int nr) > blk_mq_tag_update_sched_shared_tags(q); > else > blk_mq_tag_resize_shared_tags(set, nr); > - } else { > + } else if (!q->elevator) { > queue_for_each_hw_ctx(q, hctx, i) { > if (!hctx->tags) > continue; > - /* > - * If we're using an MQ scheduler, just update the > - * scheduler queue depth. This is similar to what the > - * old code would do. > - */ > - if (hctx->sched_tags) > - ret = blk_mq_tag_update_depth(hctx, > - &hctx->sched_tags, nr); > - else > - ret = blk_mq_tag_update_depth(hctx, > - &hctx->tags, nr); > + sbitmap_queue_resize(&hctx->tags->bitmap_tags, > + nr - hctx->tags->nr_reserved_tags); > + } > + } else if (nr <= q->elevator->et->nr_requests) { > + queue_for_each_hw_ctx(q, hctx, i) { > + if (!hctx->sched_tags) > + continue; > + sbitmap_queue_resize(&hctx->sched_tags->bitmap_tags, > + nr - hctx->sched_tags->nr_reserved_tags); > + } > + } else { > + queue_for_each_hw_ctx(q, hctx, i) { > + if (!hctx->sched_tags) > + continue; > + blk_mq_tag_update_depth(hctx, &hctx->sched_tags, nr); > if (ret) > goto out; > } The above code is good however can this be bit simplified? It's a bit difficult to follow through all nesting and so could it be simplified as below: if (shared-tags) { if (elevator) // resize sched-shared-tags bitmap else // resize shared-tags bitmap } else { // non-shared tags if (elevator) { if (new-depth-is-less-than-the-current-depth) // resize sched-tags bitmap else // handle sched tags grow } else // resize tags bitmap } Thanks, --Nilay