summaryrefslogtreecommitdiff
path: root/include/linux/phy
diff options
context:
space:
mode:
authorZhe Liu <liuzhe1@kylinos.cn>2026-11-02 14:18:02 +0800
committerJens Axboe <axboe@kernel.dk>2026-11-03 07:12:16 -0700
commite9804489e27dd6e33aec5511fe3780ff3009f57f (patch)
tree2b02f2533d43a490da85d25e55d2685b40aca0f3 /include/linux/phy
parent603e66e8dd6adf2bad54bb27f4b690eacba3745e (diff)
blk-iocost: account flush sequence latency only once
A flush sequence with a DATA phase can complete its original request twice. Both completions invoke ioc_rqos_done(), causing the request to contribute two latency samples and adding the same queue wait time twice. This gives such requests disproportionate weight compared to ordinary writes, distorting the device-wide latency and queue wait feedback used to adjust iocost's virtual time rate. Skip requests marked RQF_FLUSH_SEQ in ioc_rqos_done(). The flag is set when the request enters the flush machinery and is still set when the data phase completes; blk_flush_restore_request() clears it before the final completion, so accounting happens only once, after the whole sequence finishes. The remaining sample covers the request's lifetime through any postflush, and its queue wait time is accumulated only once. Fixes: 7caa47151ab2e ("blkcg: implement blk-iocost") Cc: stable@vger.kernel.org Signed-off-by: Zhe Liu <liuzhe1@kylinos.cn> Acked-by: Tejun Heo <tj@kernel.org> Link: https://patch.msgid.link/20261102061802.408173-1-liuzhe1@kylinos.cn Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/phy')
0 files changed, 0 insertions, 0 deletions