cgroups.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHSET block/for-4.3] blkcg: implement interface for the unified hierarchy
@ 2015-07-24 18:43 Tejun Heo
  2015-07-24 18:43 ` [PATCH 02/10] cgroup: introduce cgroup_subsys->legacy_name Tejun Heo
                   ` (7 more replies)
  0 siblings, 8 replies; 21+ messages in thread
From: Tejun Heo @ 2015-07-24 18:43 UTC (permalink / raw)
  To: axboe-tSWWG44O7X1aa/9Udqfwiw
  Cc: vgoyal-H+wXaHxf7aLQT0dZR+AlfA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	avanzini.arianna-Re5JQEeQqe8AvxtiuMwx3w, kernel-team-b10kYP2dOMg,
	hannes-druUgvl0LCNAfugRpC6u6w, lizefan-hv44wF8Li93QT0dZR+AlfA,
	cgroups-u79uwXL29TY76Z2rM5mHXA

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-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
[1] http://lkml.kernel.org/g/1436281823-1947-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
[2] http://lkml.kernel.org/g/1436283361-3889-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
[3] http://lkml.kernel.org/g/1436637654-28110-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
[4] http://lkml.kernel.org/g/1436724043-12986-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org

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

end of thread, other threads:[~2015-08-18 21:01 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-24 18:43 [PATCHSET block/for-4.3] blkcg: implement interface for the unified hierarchy Tejun Heo
2015-07-24 18:43 ` [PATCH 02/10] cgroup: introduce cgroup_subsys->legacy_name Tejun Heo
     [not found]   ` <1437763434-28699-3-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2015-07-28  6:39     ` Zefan Li
2015-07-28 15:23       ` Tejun Heo
2015-07-28 17:56   ` [PATCH v2 " Tejun Heo
2015-08-18 21:01     ` Tejun Heo
2015-07-29  1:18   ` [PATCH " Zefan Li
2015-07-24 18:43 ` [PATCH 03/10] blkcg: remove unnecessary NULL checks from __cfqg_set_weight_device() Tejun Heo
2015-07-24 18:43 ` [PATCH 04/10] blkcg: refine error codes returned during blkcg configuration Tejun Heo
     [not found] ` <1437763434-28699-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2015-07-24 18:43   ` [PATCH 01/10] cgroup: don't print subsystems for the default hierarchy Tejun Heo
     [not found]     ` <1437763434-28699-2-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2015-07-29  1:18       ` Zefan Li
2015-08-18 21:01       ` Tejun Heo
2015-07-24 18:43   ` [PATCH 05/10] blkcg: rename subsystem name from blkio to io Tejun Heo
2015-07-24 18:43   ` [PATCH 06/10] blkcg: mark existing cftypes as legacy Tejun Heo
2015-07-27 16:12   ` [PATCHSET block/for-4.3] blkcg: implement interface for the unified hierarchy Vivek Goyal
     [not found]     ` <20150727161209.GB16064-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-07-27 18:13       ` Tejun Heo
2015-07-24 18:43 ` [PATCH 07/10] blkcg: move body parsing from blkg_conf_prep() to its callers Tejun Heo
2015-07-24 18:43 ` [PATCH 08/10] blkcg: separate out tg_conf_updated() from tg_set_conf() Tejun Heo
2015-07-24 18:43 ` [PATCH 09/10] blkcg: misc preparations for unified hierarchy interface Tejun Heo
2015-07-24 18:43 ` [PATCH 10/10] blkcg: implement interface for the unified hierarchy Tejun Heo
     [not found]   ` <1437763434-28699-11-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2015-07-30 22:58     ` [PATCH v2 " Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).