From: Guoqing Jiang <guoqing.jiang@xxxxxxxxxxxxxxx> Hi, This version has below changes: * 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. See below io_size table, and io_latency table replaces KB with ms. # cat /sys/block/md0/io_size [ 0 - 1 ) KB: 0 0 0 0 [ 1 - 2 ) KB: 0 0 0 0 [ 2 - 4 ) KB: 0 0 0 0 [ 4 - 8 ) KB: 0 0 0 0 [ 8 - 16 ) KB: 0 0 0 0 [ 16 - 32 ) KB: 0 0 0 0 [ 32 - 64 ) KB: 0 0 0 0 [ 64 - 128 ) KB: 0 0 0 0 [ 128 - 256 ) KB: 0 0 0 0 [ 256 - 512 ) KB: 0 0 0 0 [ 512 - 1024 ) KB: 0 0 0 0 >= 1024 KB: 0 0 0 0 Thanks, Guoqing 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 | 8 +++ block/genhd.c | 78 +++++++++++++++++++++++++++ include/linux/blkdev.h | 2 + include/linux/part_stat.h | 8 +++ 8 files changed, 188 insertions(+) -- 2.17.1