block: account inflight from blk_account_io_start() if 'precise_iostat' is set
hulk inclusion category: bugfix bugzilla: 39265, https://gitee.com/openeuler/kernel/issues/I4WC06 CVE: NA ----------------------------------------------- When 'precise_iostat' is set, io_tick and time_in_queue will be updated if io is inflight. However, mq will not account io as inflight until getting driver tag, while sq will account it after getting sched tag. On the other hand, if io scheduler is none, blk_mq_get_tag() will get driver tag directly, and such io will be accounted as inflight. The consequences is that 'io_tick' will be miscalculated in part_round_stats(). Thus revert to sq's implementation if 'precise_iostat' is set. Signed-off-by:Zhang Wensheng <zhangwensheng5@huawei.com> Reviewed-by:
Jason Yan <yanaijie@huawei.com> Signed-off-by:
Yang Yingliang <yangyingliang@huawei.com>
Loading
Please sign in to comment