Re: [PATCH 1/2] blk-mq: bypass IO scheduler's limit_depth for passthrough request

From: Jens Axboe
Date: Fri Apr 16 2021 - 08:09:25 EST


On 4/14/21 9:39 PM, Lin Feng wrote:
> Commit 01e99aeca39796003 ("blk-mq: insert passthrough request into
> hctx->dispatch directly") gives high priority to passthrough requests and
> bypass underlying IO scheduler. But as we allocate tag for such request it
> still runs io-scheduler's callback limit_depth, while we really want is to
> give full sbitmap-depth capabity to such request for acquiring available
> tag.
> blktrace shows PC requests(dmraid -s -c -i) hit bfq's limit_depth:
> 8,0 2 0 0.000000000 39952 1,0 m N bfq [bfq_limit_depth] wr_busy 0 sync 0 depth 8
> 8,0 2 1 0.000008134 39952 D R 4 [dmraid]
> 8,0 2 2 0.000021538 24 C R [0]
> 8,0 2 0 0.000035442 39952 1,0 m N bfq [bfq_limit_depth] wr_busy 0 sync 0 depth 8
> 8,0 2 3 0.000038813 39952 D R 24 [dmraid]
> 8,0 2 4 0.000044356 24 C R [0]
>
> This patch introduce a new wrapper to make code not that ugly.

Applied, thanks.

--
Jens Axboe