All of lore.kernel.org
 help / color / mirror / Atom feed
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


             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.