Jens Axboe (5): block: move cgroup time handling code into blk.h block: add blk_time_get_ns() and blk_time_get() helpers block: cache current nsec time in struct blk_plug block: update cached timestamp post schedule/preemption block: limit block time caching to in_task() context
Kundan Kumar (1): block: skip QUEUE_FLAG_STATS and rq-qos for passthrough io
Yu Kuai (20): blk-io-hierarchy: support hierarchy stats for blk-throttle block: fix that blk_time_get_ns() doesn't update time after schedule block: fix kabi broken after caching ns time in blk_plug block: support to recored bio allocation time block: support to recored bio allocation task block: support to recored bio allocation time in request block: support to recored bio allocation task in request block: support to record when request is completed block-io-hierarchy: core hierarchy stats and iodump implementation blk-io-hierarchy: support new bio based stage wbt blk-io-hierarchy: support new bio based stage iocost blk-io-hierarchy: support new bio based stage gettag blk-io-hierarchy: support new rq based stage plug blk-io-hierarchy: support new rq based stage mq-deadline blk-io-hierarchy: support new rq based stage bfq blk-io-hierarchy: support new rq based stage kyber blk-io-hierarchy: support new rq based stage hctx blk-io-hierarchy: support new rq based stage requeue blk-io-hierarchy: support new rq based stage rq_driver blk-io-hierarchy: support hierarchy stats for bio lifetime
arch/arm64/configs/openeuler_defconfig | 1 + arch/powerpc/configs/openeuler_defconfig | 1 + arch/riscv/configs/openeuler_defconfig | 1 + arch/x86/configs/openeuler_defconfig | 1 + block/Kconfig | 7 + block/Makefile | 1 + block/bfq-cgroup.c | 14 +- block/bfq-iosched.c | 39 +- block/bio.c | 22 + block/blk-cgroup.c | 2 +- block/blk-cgroup.h | 4 + block/blk-core.c | 11 + block/blk-flush.c | 13 +- block/blk-io-hierarchy/Kconfig | 156 +++++ block/blk-io-hierarchy/Makefile | 8 + block/blk-io-hierarchy/debugfs.c | 235 +++++++ block/blk-io-hierarchy/iodump.c | 745 +++++++++++++++++++++++ block/blk-io-hierarchy/iodump.h | 96 +++ block/blk-io-hierarchy/stats.c | 406 ++++++++++++ block/blk-io-hierarchy/stats.h | 378 ++++++++++++ block/blk-iocost.c | 14 +- block/blk-iolatency.c | 8 +- block/blk-map.c | 1 + block/blk-merge.c | 4 + block/blk-mq-debugfs.c | 22 +- block/blk-mq-debugfs.h | 8 + block/blk-mq-sched.c | 2 + block/blk-mq-tag.c | 5 + block/blk-mq.c | 125 +++- block/blk-mq.h | 25 + block/blk-rq-qos.c | 9 +- block/blk-rq-qos.h | 5 +- block/blk-sysfs.c | 14 + block/blk-throttle.c | 14 +- block/blk-wbt.c | 40 +- block/blk.h | 67 ++ block/kyber-iosched.c | 7 + block/mq-deadline.c | 15 +- include/linux/blk-mq.h | 33 +- include/linux/blk_types.h | 94 +-- include/linux/blkdev.h | 22 +- include/linux/sched.h | 2 +- kernel/sched/core.c | 6 +- 43 files changed, 2569 insertions(+), 114 deletions(-) create mode 100644 block/blk-io-hierarchy/Kconfig create mode 100644 block/blk-io-hierarchy/Makefile create mode 100644 block/blk-io-hierarchy/debugfs.c create mode 100644 block/blk-io-hierarchy/iodump.c create mode 100644 block/blk-io-hierarchy/iodump.h create mode 100644 block/blk-io-hierarchy/stats.c create mode 100644 block/blk-io-hierarchy/stats.h