diff options
author | Chengming Zhou <zhouchengming@bytedance.com> | 2023-09-13 17:16:12 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-09-22 16:52:13 +0200 |
commit | b8643d682669994b3f57c3440df3d4f9cb735f35 (patch) | |
tree | 35b49bc8dc17365c9e7dcbc74c71ee6cde581321 /net/mac80211 | |
parent | Linux 6.6-rc2 (diff) | |
download | linux-b8643d682669994b3f57c3440df3d4f9cb735f35.tar.xz linux-b8643d682669994b3f57c3440df3d4f9cb735f35.zip |
blk-mq: account active requests when get driver tag
There is a limit that batched queue_rqs() can't work on shared tags
queue, since the account of active requests can't be done there.
Now we account the active requests only in blk_mq_get_driver_tag(),
which is not the time we get driver tag actually (with none elevator).
To support batched queue_rqs() on shared tags queue, we move the
account of active requests to where we get the driver tag:
1. none elevator: blk_mq_get_tags() and blk_mq_get_tag()
2. other elevator: __blk_mq_alloc_driver_tag()
This is clearer and match with the unaccount side, which just happen
when we put the driver tag.
The other good point is that we don't need RQF_MQ_INFLIGHT trick
anymore, which used to avoid double account of flush request.
Now we only account when actually get the driver tag, so all is good.
We will remove RQF_MQ_INFLIGHT in the next patch.
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20230913151616.3164338-2-chengming.zhou@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'net/mac80211')
0 files changed, 0 insertions, 0 deletions