]> www.infradead.org Git - users/hch/misc.git/commit
block: set issue time stamp based on queue state
authorJens Axboe <axboe@kernel.dk>
Sun, 6 Oct 2024 21:11:24 +0000 (15:11 -0600)
committerJens Axboe <axboe@kernel.dk>
Tue, 22 Oct 2024 14:15:17 +0000 (08:15 -0600)
commit148e6968f6789e42a318ce7d11ea506d75567c1d
tree0eeb82b8f35e3bb446193b17645ddf12011a5c92
parentf7a4b3438c6f5e95a6ae814b39bf6623a007dec8
block: set issue time stamp based on queue state

A previous commit moved RQF_IO_STAT into blk_account_io_done(), where
it's being set rather than at allocation time. Unfortunately we do check
for that flag in blk_mq_rq_time_init(), and hence setting the
start_time_ns wasn't being done. This lead to unwieldy inflight IO counts
and times, as IO completion accounting would a 0 value rather than the
issue time for it's subtraction math.

Fix this by switching the blk_mq_rq_time_init() check to use the queue
state rather than the request state.

Fixes: b8f762400ae8 ("block: move iostat check into blk_acount_io_start()")
Reported-by: kernel test robot <oliver.sang@intel.com>
Closes: https://lore.kernel.org/oe-lkp/202410062110.512391df-oliver.sang@intel.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c