There's a mechanism which splits IO's if their size is greater than queue/max_sectors_kb setting. But there's no counter for split requests. Having splits counter helps to understand workload profile and necessity of settings tuning. bi_flags converted to int from short. Add BIO_SPLITTED flag and set it in bio_split() for new bio. Add splits[] counters. In blk_account_io_start() check the BIO_SPLITTED flag and if it's set increment appropriate splits counter. Aleksei Zakharov (2): block: extend bi_flags to int and introduce BIO_SPLITTED block: add iostat counters for requests splits Documentation/ABI/testing/procfs-diskstats | 3 +++ Documentation/ABI/testing/sysfs-block | 5 ++++- Documentation/admin-guide/iostats.rst | 10 ++++++++++ block/bio.c | 2 ++ block/blk-core.c | 2 ++ block/genhd.c | 8 ++++++-- block/partition-generic.c | 8 ++++++-- include/linux/blk_types.h | 5 +++-- include/linux/genhd.h | 1 + 9 files changed, 37 insertions(+), 7 deletions(-) -- 2.17.1