diff options
author | Yu Kuai <yukuai3@huawei.com> | 2023-02-23 12:12:26 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-03-15 18:25:04 +0300 |
commit | 5f27571382ca42daa3e3d40d1b252bf18c2b61d2 (patch) | |
tree | 8f1fe6b4727f5b014fb676ee07a9e233a2934ddf /tools/perf/scripts/python/task-analyzer.py | |
parent | 6030363199e3a6341afb467ddddbed56640cbf6a (diff) | |
download | linux-5f27571382ca42daa3e3d40d1b252bf18c2b61d2.tar.xz |
block: count 'ios' and 'sectors' when io is done for bio-based device
While using iostat for raid, I observed very strange 'await'
occasionally, and turns out it's due to that 'ios' and 'sectors' is
counted in bdev_start_io_acct(), while 'nsecs' is counted in
bdev_end_io_acct(). I'm not sure why they are ccounted like that
but I think this behaviour is obviously wrong because user will get
wrong disk stats.
Fix the problem by counting 'ios' and 'sectors' when io is done, like
what rq-based device does.
Fixes: 394ffa503bc4 ("blk: introduce generic io stat accounting help function")
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20230223091226.1135678-1-yukuai1@huaweicloud.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions