From: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
To: linux-block@vger.kernel.org
Cc: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Subject: [RFC PATCH 00/18] blktrace: add blktrace extension support
Date: Tue, 30 Apr 2019 21:28:13 -0700 [thread overview]
Message-ID: <20190501042831.5313-1-chaitanya.kulkarni@wdc.com> (raw)
Hi,
This patch series adds support to track more request based flags and
different request fields to the blktrace infrastructure.
In this series, we increase the action and action mask field and add
priority and priority mask field to existing infrastructure.
The userland tools part of the patch-series is followed by this
one, here is the reference:-
Chaitanya Kulkarni (10):
blktrace.h: add blktrace extension to the header
blktrace_api.h: update blktrace API header
act-mask: add blktrace extension to act_mask
blktrace.c: add support for extensions
blkparse.c: add support for extensions
blkparse-fmt.c: add extension support
iowatcher/blkparse: add extension definitions
blkiomon: add extension support
blkrawverify: add extension support
blktrace-tools: add extension support
Following is the detailed overview of how this patch-series is
organized:-
1. The first few patches focus on adding block trace extension:-
blktrace: increase the size of action mask
blktrace: add more definitions for BLK_TC_ACT
blktrace: update trace to track more actions
kernel/trace: add KConfig to enable blktrace_ext
2. Next set of patches adds support to track request based priority and
allows the user to configure request priority maks just like action
mask:-
blktrace: add iopriority mask
blktrace: add iopriority mask
blktrace: allow user to track iopriority
blktrace: add sysfs ioprio mask
blktrace: add debug support for extension
3. Following patches just set the bio priority so that blktrace will not
report wrong priority while tracing bios:-
block: set ioprio for write-zeroes, discard etc
block: set ioprio for zone-reset
block: set ioprio for flush bio
drivers: set bio iopriority field
fs: set bio iopriority field
power/swap: set bio iopriority field
mm: set bio iopriority field
Ideally, the above patches for drivers and fs category should be sent
separately to the respective subsystem for the RFC review purpose I
kept it all in the one patch.
4. Last two patches add support for null_blk driver to specify
module parameter for discard and write-zeroes operations which
makes testing easier:-
null_blk: add write-zeroes flag to nullb_device
null_blk: add module param discard/write-zeroes
P.S. I've not added linux-btrace mailing list as I'm having trouble
subscribing to it.
RFC is little light on the detail but would like to start the discussion
about how should we add extensions to the block trace
infrastructure to track more request operations and priorities.
Regards,
Chaitanya
Chaitanya Kulkarni (18):
blktrace: increase the size of action mask
blktrace: add more definitions for BLK_TC_ACT
blktrace: update trace to track more actions
kernel/trace: add KConfig to enable blktrace_ext
blktrace: add iopriority mask
blktrace: add iopriority mask
blktrace: allow user to track iopriority
blktrace: add sysfs ioprio mask
blktrace: add debug support for extension
block: set ioprio for write-zeroes, discard etc
block: set ioprio for zone-reset
block: set ioprio for flush bio
drivers: set bio iopriority field
fs: set bio iopriority field
power/swap: set bio iopriority field
mm: set bio iopriority field
null_blk: add write-zeroes flag to nullb_device
null_blk: add module param discard/write-zeroes
block/blk-flush.c | 2 +
block/blk-lib.c | 6 +
block/blk-zoned.c | 2 +
drivers/block/drbd/drbd_actlog.c | 2 +
drivers/block/drbd/drbd_bitmap.c | 3 +
drivers/block/null_blk.h | 1 +
drivers/block/null_blk_main.c | 37 +++-
drivers/block/xen-blkback/blkback.c | 3 +
drivers/block/zram/zram_drv.c | 2 +
drivers/lightnvm/pblk-read.c | 2 +
drivers/lightnvm/pblk-write.c | 1 +
drivers/md/bcache/journal.c | 2 +
drivers/md/bcache/super.c | 2 +
drivers/md/dm-bufio.c | 2 +
drivers/md/dm-cache-target.c | 1 +
drivers/md/dm-io.c | 2 +
drivers/md/dm-log-writes.c | 5 +
drivers/md/dm-thin.c | 1 +
drivers/md/dm-writecache.c | 2 +
drivers/md/dm-zoned-metadata.c | 4 +
drivers/md/md.c | 4 +
drivers/md/raid5-cache.c | 4 +
drivers/md/raid5-ppl.c | 3 +
drivers/nvme/target/io-cmd-bdev.c | 7 +
drivers/staging/erofs/internal.h | 3 +
drivers/target/target_core_iblock.c | 3 +
fs/btrfs/disk-io.c | 2 +
fs/btrfs/extent_io.c | 3 +
fs/btrfs/raid56.c | 6 +
fs/btrfs/scrub.c | 2 +
fs/btrfs/volumes.c | 3 +
fs/buffer.c | 2 +
fs/crypto/bio.c | 3 +
fs/direct-io.c | 2 +
fs/ext4/page-io.c | 2 +
fs/ext4/readpage.c | 1 +
fs/f2fs/data.c | 3 +
fs/f2fs/segment.c | 1 +
fs/gfs2/lops.c | 2 +
fs/gfs2/meta_io.c | 2 +
fs/gfs2/ops_fstype.c | 2 +
fs/hfsplus/wrapper.c | 2 +
fs/iomap.c | 2 +
fs/jfs/jfs_logmgr.c | 3 +
fs/jfs/jfs_metapage.c | 3 +
fs/mpage.c | 1 +
fs/nfs/blocklayout/blocklayout.c | 2 +
fs/nilfs2/segbuf.c | 2 +
fs/ocfs2/cluster/heartbeat.c | 2 +
fs/xfs/xfs_aops.c | 3 +
fs/xfs/xfs_buf.c | 2 +
include/linux/blktrace_api.h | 13 +-
include/uapi/linux/blktrace_api.h | 65 ++++--
kernel/power/swap.c | 2 +
kernel/trace/Kconfig | 36 ++++
kernel/trace/blktrace.c | 323 +++++++++++++++++++++++++++-
mm/page_io.c | 2 +
57 files changed, 579 insertions(+), 26 deletions(-)
--
2.19.1
next reply other threads:[~2019-05-01 4:28 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-01 4:28 Chaitanya Kulkarni [this message]
2019-05-01 4:28 ` [RFC PATCH 01/18] blktrace: increase the size of action mask Chaitanya Kulkarni
2019-05-01 15:48 ` Bart Van Assche
2019-05-02 3:43 ` Chaitanya Kulkarni
2019-05-02 15:12 ` Bart Van Assche
2019-05-01 4:28 ` [RFC PATCH 02/18] blktrace: add more definitions for BLK_TC_ACT Chaitanya Kulkarni
2019-05-01 12:31 ` Christoph Hellwig
2019-05-01 12:56 ` Jeff Moyer
2019-05-02 3:48 ` Chaitanya Kulkarni
2019-05-02 3:49 ` Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 03/18] blktrace: update trace to track more actions Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 04/18] kernel/trace: add KConfig to enable blktrace_ext Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 05/18] blktrace: add iopriority mask Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 06/18] " Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 07/18] blktrace: allow user to track iopriority Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 08/18] blktrace: add sysfs ioprio mask Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 09/18] blktrace: add debug support for extension Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 10/18] block: set ioprio for write-zeroes, discard etc Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 11/18] block: set ioprio for zone-reset Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 12/18] block: set ioprio for flush bio Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 13/18] drivers: set bio iopriority field Chaitanya Kulkarni
2019-05-01 6:23 ` Javier González
2019-05-01 4:28 ` [RFC PATCH 14/18] fs: " Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 15/18] power/swap: " Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 16/18] mm: " Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 17/18] null_blk: add write-zeroes flag to nullb_device Chaitanya Kulkarni
2019-05-01 4:28 ` [RFC PATCH 18/18] null_blk: add module param discard/write-zeroes Chaitanya Kulkarni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190501042831.5313-1-chaitanya.kulkarni@wdc.com \
--to=chaitanya.kulkarni@wdc.com \
--cc=linux-block@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.