[PATCHSET block/for-4.3] blkcg: implement interface for the unified hierarchy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

blkcg interface grew to be the biggest of all controllers and
unfortunately most inconsistent too.  The interface files are
inconsistent with a number of cloes duplicates.  Some files have
recursive variants while others don't.  There's distinction between
normal and leaf weights which isn't intuitive and there are a lot of
stat knobs which don't make much sense outside of debugging and expose
too much implementation details to userland.

In the unified hierarchy, everything is always hierarchical and
internal nodes can't have tasks rendering the two structural issues
twisting the current interface.  The interface has to be updated in a
significant anyway and this is a good chance to revamp it as a whole.
This patchset implements blkcg interface for the unified hierarchy.

* blkcg is identified by "io" instead of "blkio" on the unified
  hierarchy.  Given that the whole interface is updated anyway, the
  rename shouldn't carry noticeable conversion overhead.

* The original interface consisted of 27 files is replaced with the
  following three files.

  blkio.stat	: per-blkcg stats
  blkio.weight	: per-cgroup and per-cgroup-queue weight settings
  blkio.max	: per-cgroup-queue bps and iops max limits

For more details, please refer to
Documentation/cgroups/unified-hierarchy.txt.

This patchset contains the following 10 patches.

 0001-cgroup-don-t-print-subsystems-for-the-default-hierar.patch
 0002-cgroup-introduce-cgroup_subsys-legacy_name.patch
 0003-blkcg-remove-unnecessary-NULL-checks-from-__cfqg_set.patch
 0004-blkcg-refine-error-codes-returned-during-blkcg-confi.patch
 0005-blkcg-rename-subsystem-name-from-blkio-to-io.patch
 0006-blkcg-mark-existing-cftypes-as-legacy.patch
 0007-blkcg-move-body-parsing-from-blkg_conf_prep-to-its-c.patch
 0008-blkcg-separate-out-tg_conf_updated-from-tg_set_conf.patch
 0009-blkcg-misc-preparations-for-unified-hierarchy-interf.patch
 0010-blkcg-implement-interface-for-the-unified-hierarchy.patch

0001-0002 are cgroup prep patches.  0003-0004 are misc prep patches.
0005 renames blkio to io on the unified hierarchy.  0006-0010
implement the new interface.

This patchset is also available in the following git branch.

 git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-blkcg-unified-hier

and is on top of

  block/for-linus f3f5da624e0a ("block: Do a full clone when splitting discard bios")
+ [1] [PATCHSET block/for-4.3] writeback: cgroup writeback updates
+ [2] [PATCHSET v2 block/for-4.3] block, cgroup: make cfq charge async IOs to the appropriate blkcgs
+ [3] [PATCHSET v3 block/for-4.3] blkcg: blkcg policy methods and data handling cleanup
+ [4] [PATCHSET v2 block/for-4.3] blkcg: blkcg stats cleanup

diffstat follows.  Thanks.

 Documentation/cgroups/unified-hierarchy.txt |   57 ++++++++-
 block/bio.c                                 |    2 
 block/blk-cgroup.c                          |  105 +++++++++++++---
 block/blk-throttle.c                        |  176 +++++++++++++++++++++++-----
 block/cfq-iosched.c                         |   91 +++++++++++---
 include/linux/backing-dev.h                 |    2 
 include/linux/blk-cgroup.h                  |   12 +
 include/linux/cgroup-defs.h                 |    3 
 include/linux/cgroup_subsys.h               |    2 
 kernel/cgroup.c                             |   41 ++++--
 mm/backing-dev.c                            |    4 
 11 files changed, 399 insertions(+), 96 deletions(-)

--
tejun

[L] http://lkml.kernel.org/g/1435268337-1738-1-git-send-email-tj@xxxxxxxxxx
[1] http://lkml.kernel.org/g/1436281823-1947-1-git-send-email-tj@xxxxxxxxxx
[2] http://lkml.kernel.org/g/1436283361-3889-1-git-send-email-tj@xxxxxxxxxx
[3] http://lkml.kernel.org/g/1436637654-28110-1-git-send-email-tj@xxxxxxxxxx
[4] http://lkml.kernel.org/g/1436724043-12986-1-git-send-email-tj@xxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe cgroups" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux