All of lore.kernel.org
 help / color / mirror / Atom feed
From: Omar Sandoval <osandov@osandov.com>
To: linux-block@vger.kernel.org
Cc: kernel-team@fb.com
Subject: [PATCH v2 0/4] block: callback-based statistics
Date: Tue, 21 Mar 2017 08:56:04 -0700	[thread overview]
Message-ID: <cover.1490110621.git.osandov@fb.com> (raw)

From: Omar Sandoval <osandov@fb.com>

This patchset generalizes the blk-stats infrastructure to allow users to
register a callback to be called at a given time with the statistics of
requests completed during that window. Writeback throttling and hybrid
polling are converted to the new infrastructure. The new Kyber I/O
scheduler uses this, as well (but it needs to be rebased on this v2).

The details are in patch 4, which is the actual conversion. Patches 1-3
are preparation cleanups.

Changes since v1:

- Now the user can subdivide stats into arbitrary buckets. Both in-tree
  users just do reads vs. writes, but we can extend poll based on
  request size in the future
- blk_stat_arm_callback() became blk_stat_activate_msecs() and
  blk_stat_activate_nsecs()
- The poll statistics are exposed in debugfs

Omar Sandoval (4):
  block: remove extra calls to wbt_exit()
  blk-stat: use READ and WRITE instead of BLK_STAT_{READ,WRITE}
  blk-stat: move BLK_RQ_STAT_BATCH definition to blk-stat.c
  blk-stat: convert to callback-based statistics reporting

 block/blk-core.c          |   7 +-
 block/blk-mq-debugfs.c    |  99 +++++++--------
 block/blk-mq.c            |  78 ++++++++----
 block/blk-mq.h            |   1 -
 block/blk-stat.c          | 315 ++++++++++++++++++++++------------------------
 block/blk-stat.h          | 182 ++++++++++++++++++++++++---
 block/blk-sysfs.c         |  31 +----
 block/blk-wbt.c           |  61 ++++-----
 block/blk-wbt.h           |   2 +-
 include/linux/blk_types.h |   3 -
 include/linux/blkdev.h    |  10 +-
 11 files changed, 454 insertions(+), 335 deletions(-)

-- 
2.12.0

             reply	other threads:[~2017-03-21 15:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-21 15:56 Omar Sandoval [this message]
2017-03-21 15:56 ` [PATCH v2 1/4] block: remove extra calls to wbt_exit() Omar Sandoval
2017-03-21 15:56 ` [PATCH v2 2/4] blk-stat: use READ and WRITE instead of BLK_STAT_{READ,WRITE} Omar Sandoval
2017-03-21 15:56 ` [PATCH v2 3/4] blk-stat: move BLK_RQ_STAT_BATCH definition to blk-stat.c Omar Sandoval
2017-03-21 15:56 ` [PATCH v2 4/4] blk-stat: convert to callback-based statistics reporting Omar Sandoval
2017-03-21 16:04 ` [PATCH v2 0/4] block: callback-based statistics Jens Axboe

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=cover.1490110621.git.osandov@fb.com \
    --to=osandov@osandov.com \
    --cc=kernel-team@fb.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.