Changes in v5:
- add missing callers of blk_rq_hierarchy_stats_complete() in patch 16;
- remove blk_mq_debugfs_unregister_hierarchy_stats in patch 16;
- use NR_NEW_STAT_GROUPS in patch 18;
Changes in v4:
- remove changes to cfq in patch 2, also fix kabi change for blk-wbt in
patch 2;
- check q->mq_ops from the only caller from blk-flush.c in patch 12;
Changes in v3:
- fix patch 7 format;
Changes in v2:
- find_get_pid(current->pid); -> get_pid(task_pid(current));
- check q->mq_ops in blk_mq_get_alloc_task();
- remove blk_mq_debugfs_unregister_hierarchy_stats();
- include cgroup_path() inside CONFIG_BLK_CGROUP;
Bart Van Assche (1):
blk-mq: remove blk_mq_put_ctx()
Jens Axboe (4):
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
Yu Kuai (25):
blk-mq: export blk-mq-debugfs apis
block: fix that blk_time_get_ns() doesn't update time after schedule
block: fix kabi broken in struct 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: fix kabi broken for struct request
block: support to recored bio allocation task in request
block: block: fix kabi broken for struct blk_mq_alloc_data
blk-mq-debugfs: factor out a new helper to show allocated request
block: support to record when request is completed
block-io-hierarchy: core hierarchy stats implementation
block-io-hierarchy: core hierarchy iodump implementation
blk-io-hierarchy: support to recored the number of slow IO
blk-io-hierarchy: support new bio based stage blk-throtl
blk-io-hierarchy: support new bio based stage blk-wbt
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 new stage for bio lifetime
arch/arm64/configs/openeuler_defconfig | 1 +
arch/x86/configs/openeuler_defconfig | 1 +
block/Kconfig | 8 +
block/Makefile | 1 +
block/bfq-cgroup.c | 15 +-
block/bfq-iosched.c | 34 +-
block/bio.c | 17 +
block/blk-cgroup.c | 2 +-
block/blk-core.c | 37 +-
block/blk-flush.c | 22 +-
block/blk-io-hierarchy/Kconfig | 145 +++++
block/blk-io-hierarchy/Makefile | 8 +
block/blk-io-hierarchy/debugfs.c | 230 ++++++++
block/blk-io-hierarchy/iodump.c | 756 +++++++++++++++++++++++++
block/blk-io-hierarchy/iodump.h | 103 ++++
block/blk-io-hierarchy/stats.c | 429 ++++++++++++++
block/blk-io-hierarchy/stats.h | 366 ++++++++++++
block/blk-iolatency.c | 6 +-
block/blk-merge.c | 1 +
block/blk-mq-debugfs.c | 21 +-
block/blk-mq-debugfs.h | 10 +
block/blk-mq-sched.c | 7 +-
block/blk-mq-tag.c | 13 +-
block/blk-mq.c | 77 ++-
block/blk-mq.h | 56 +-
block/blk-sysfs.c | 16 +
block/blk-throttle.c | 29 +-
block/blk-wbt.c | 15 +-
block/blk.h | 89 ++-
block/kyber-iosched.c | 10 +-
block/mq-deadline.c | 15 +-
include/linux/blk_types.h | 55 +-
include/linux/blkdev.h | 16 +
include/linux/sched.h | 2 +
kernel/sched/core.c | 6 +-
35 files changed, 2530 insertions(+), 89 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
--
2.39.2