[Crash-utility] [PATCH v4 0/2] Get diskio statistics from the hw queues in blk-mq

HAGIO KAZUHITO(萩尾 一仁) k-hagio-ab at nec.com
Fri Jun 3 07:05:32 UTC 2022


On 2022/06/02 21:12, Lianbo Jiang wrote:
> Currently, crash doesn't support to display disk I/O statistics
> for blk-mq devices. The patchset will implement it by parsing
> the bitmap, it includes two patches:
> 
> [1] [PATCH 1/2] Support for "dev -d|-D" options by parsing bitmap in
>      blk-mq layer
> [2] [PATCH 2/2] Fix for "dev -d|-D" options to correctly display disk I/O
>      statistics on linux v5.18-rc1
> 
> Related kernel commits:
> [1] commit 9a14d6ce4135 ("block: remove debugfs blk_mq_ctx
>      dispatched/merged/completed attributes")
> [2] commit 4e5cc99e1e48 ("blk-mq: manage hctx map via xarray")
> 
> The patchset is tested on v5.17.0-rc8 and the latest kernel 5.18.0-rc4.
> 
> With the patchset:
>    crash> dev -d
>    MAJOR GENDISK            NAME       REQUEST_QUEUE      TOTAL ASYNC  SYNC
>        8 ffff93d2ca593400   sda        ffff93d2c917b960      18    15     3
> 
> Changes since v3:
> [1] rename the 'struct bt_iter_data' to 'struct mq_inflight'
> [2] rename the 'struct bt_tags_iter_data' to 'struct bt_iter_data'
> [3] rename the 'flags' to 'reserved'
> [4] rename the 'bt_tags_for_each' to 'bt_for_each'
> [5] rename the 'bt_tags_iter' to 'bt_iter'
> [6] removed the 'if (!hctx || !dio)' from the queue_for_each_hw_ctx()
> [7] removed the 'if (!IS_KVADDR(hctx[i]))' from the queue_for_each_hw_ctx()
> [8] removed the local variable 'struct diskio tmp'

The patchset tested OK with some vmcores on hand.

I've edited the commit logs a bit and applied.

Thank you for the huge work!
Kazu


More information about the Crash-utility mailing list