public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3][v2] blkio: IO controller stats
@ 2010-04-03  1:54 Divyesh Shah
  2010-04-03  1:55 ` [PATCH 1/3][v2] blkio: Remove per-cfqq nr_sectors as we'll be passing Divyesh Shah
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Divyesh Shah @ 2010-04-03  1:54 UTC (permalink / raw)
  To: jens.axboe, vgoyal; +Cc: linux-kernel, nauman, ctalbott

The following series implements some additional stats for IO controller.

These stats have helped us debug issues with earlier IO controller
versions and should be useful now as well.
We've been using these stats for monitoring and debugging problems after the
fact as these stats can be collected and stored for later use.

One might argue that most of this information can be exported using blktrace
when debugging. However, blktrace has non-trivial performance impact and
cannot be always turned on. These stats provide a way for continuous monitoring
without losing much performance on rotational disks. We've been able to look
at these stats and debug issues after problems have been reported in the wild
and understand the IO pattern of the affected workloads.
Some of these stats are also a good data source for high-level analysis and
capacity planning.

This patchset adds 4 stats and I will send out another patchset later for
stats like io_merged and some stats that can be turned on only for
debugging - idle_time (total time spent idling for this blkio_group),
wait_time (total time spent by the blkio_group waiting before any one of its
queues got a timeslice). I've tried to breakdown the stats and sent the most
basic ones here.

Changelog from v1 (most based on Vivek Goyal's comments):
o blkio.time now exports in jiffies as before
o Added stats description in patch description and
  Documentation/cgroup/blkio-controller.txt
o Prefix all stats functions with blkio and make them static as applicable
o replace IO_TYPE_MAX with IO_TYPE_TOTAL
o Moved #define constant to top of blk-cgroup.c
o Pass dev_t around instead of char *
o Add note to documentation file about resetting stats
o use BLK_CGROUP_MODULE in addition to BLK_CGROUP config option in #ifdef
  statements
o Avoid struct request specific knowledge in blk-cgroup. blk-cgroup.h now has
  rq_direction() and rq_sync() functions which are used by CFQ and when using
  io-controller at a higher level, bio_* functions can be added.
---

Divyesh Shah (3):
      Increment the blkio cgroup stats for real now.
      Add io controller stats like
      Remove per-cfqq nr_sectors as we'll be passing that info at request dispatch


 Documentation/cgroups/blkio-controller.txt |   33 ++++
 block/blk-cgroup.c                         |  229 ++++++++++++++++++++++++++--
 block/blk-cgroup.h                         |   74 +++++++--
 block/blk-core.c                           |    6 -
 block/cfq-iosched.c                        |   16 +-
 include/linux/blkdev.h                     |   38 +++++
 6 files changed, 352 insertions(+), 44 deletions(-)

-- 
Divyesh

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2010-04-06 17:00 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-03  1:54 [PATCH 0/3][v2] blkio: IO controller stats Divyesh Shah
2010-04-03  1:55 ` [PATCH 1/3][v2] blkio: Remove per-cfqq nr_sectors as we'll be passing Divyesh Shah
2010-04-05 15:47   ` Vivek Goyal
2010-04-05 16:57     ` Divyesh Shah
2010-04-05 17:05       ` Vivek Goyal
2010-04-03  1:56 ` [PATCH 2/3][v2] blkio: Add io controller stats like Divyesh Shah
2010-04-03  1:59   ` Divyesh Shah
2010-04-05 16:06   ` Vivek Goyal
2010-04-05 23:29     ` Divyesh Shah
2010-04-06 13:47       ` Vivek Goyal
2010-04-06 17:00         ` Divyesh Shah
2010-04-05 18:58   ` Vivek Goyal
2010-04-05 22:17     ` Divyesh Shah
2010-04-03  1:57 ` [PATCH 3/3][v2] blkio: Increment the blkio cgroup stats for real now Divyesh Shah
2010-04-05 18:12   ` Vivek Goyal
2010-04-05 22:10     ` Divyesh Shah

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox