Hi,
No more comments since the last version, so this version is just rebase
with latest tree.
To make the tables work, it is necessary to enable BLK_ADDITIONAL_DISKSTAT
option, and also enable the sysfs node.
# echo 1 > /sys/block/md0/queue/io_extra_stats
After that, the size and latency of io are recorded in each table.
Thanks,
Guoqing
RFC V3: https://marc.info/?l=linux-block&m=159730633416534&w=2
* Move the #ifdef CONFIG_BLK_ADDITIONAL_DISKSTAT into the function body
per Johannes's comment.
* Tweak the output of two tables to make they are more intuitive
RFC V2: https://marc.info/?l=linux-block&m=159467483514062&w=2
* don't call ktime_get_ns and drop unnecessary patches.
* add io_extra_stats to avoid potential overhead.
RFC V1: https://marc.info/?l=linux-block&m=159419516730386&w=2
Guoqing Jiang (4):
block: add a statistic table for io latency
block: add a statistic table for io sector
block: add io_extra_stats node
block: call blk_additional_{latency,sector} only when io_extra_stats
is true
Documentation/ABI/testing/sysfs-block | 26 +++++++++
Documentation/block/queue-sysfs.rst | 6 +++
block/Kconfig | 9 ++++
block/blk-core.c | 51 ++++++++++++++++++
block/blk-sysfs.c | 10 ++++
block/genhd.c | 78 +++++++++++++++++++++++++++
include/linux/blkdev.h | 6 +++
include/linux/part_stat.h | 8 +++
8 files changed, 194 insertions(+)
--
2.17.1