Linux Container Development
 help / color / mirror / Atom feed
  • [parent not found: <4F75AA1F.9020007@huawei.com>]
  • * [PATCHSET] cgroup: cftype based file interface, take #2
    @ 2012-03-21 22:17 Tejun Heo
      0 siblings, 0 replies; 29+ messages in thread
    From: Tejun Heo @ 2012-03-21 22:17 UTC (permalink / raw)
      To: glommer-bzQdu9zFT3WakBO8gow8eQ, lizf-BthXqXjhjHXQFUHtdCDX3A,
    	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
    	cgroups-u79uwXL29TY76Z2rM5mHXA
      Cc: fweisbec-Re5JQEeQqe8AvxtiuMwx3w, ctalbott-hpIqsD4AKlfQT0dZR+AlfA,
    	linux-kernel-u79uwXL29TY76Z2rM5mHXA, rni-hpIqsD4AKlfQT0dZR+AlfA
    
    Hello,
    
    This is the second take at improving cgroup file addition/removal
    interface.  Changes from the last take[L] are,
    
    * CGROUP_SUBSYS_CFTYPES[_COND]() dropped and
      cgroup_subsys->base_cftypes is added instead.  This works better for
      subsystems implemented as module.  tcp_memcontrol now uses an
      explicit __initcall() to register its cftypes.
    
    * 0005-cgroup-relocate-cftype-and-cgroup_subsys-definitions.patch
      added as cleanup.
    
    * 0007-memcg-always-create-memsw-files-if-CONFIG_CGROUP_MEM.patch
      added so that memsw files are always created if enabled in config as
      suggested by KAMEZAWA.
    
    This patch replaces cgroup file interface with cftype based one which
    allows dynamic additions and removals of cftype arrays whether the
    target subsystem is attached or not.  This can be used to make subsys
    rebinding via remount work properly but I intentionally avoided doing
    that at the moment.
    
    This makes cgroup population simpler for controllers and will be used
    to allow controllers to be more dynamic.  e.g. blkio subsys has
    sub-policies which may come and go while blkio subsys is attached and
    it currently uses fixed set of files which stays blank if not in use.
    This will also be useful for implementing unified hierarchy.
    
    This patchset contains the following patches.
    
     0001-cgroup-move-cgroup_clear_directory-call-out-of-cgrou.patch
     0002-cgroup-build-list-of-all-cgroups-under-a-given-cgrou.patch
     0003-cgroup-implement-cgroup_add_cftypes-and-friends.patch
     0004-cgroup-merge-cft_release_agent-cftype-array-into-the.patch
     0005-cgroup-relocate-cftype-and-cgroup_subsys-definitions.patch
     0006-cgroup-convert-all-non-memcg-controllers-to-the-new-.patch
     0007-memcg-always-create-memsw-files-if-CONFIG_CGROUP_MEM.patch
     0008-cgroup-convert-memcg-controller-to-the-new-cftype-in.patch
     0009-cgroup-remove-cgroup_add_file-s.patch
     0010-cgroup-relocate-__d_cgrp-and-__d_cft.patch
     0011-cgroup-introduce-struct-cfent.patch
     0012-cgroup-implement-cgroup_rm_cftypes.patch
    
    and is on top of
    
      cgroup/for-3.4 3ce3230a0cff484e5130153f244d4fb8a56b3a8b
    + [1] cgroup: deprecate remount option changes mount option
    
    and is also available in the following git branch.
    
     git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git cgroup-cftype
    
    Glauber, I think the cftypes registration for tcp_memcontrol is fine
    as is in this patchset and we just need to move the init to the tail
    of ->create().  Let's worry about memcg for module-loadable protocols
    whey they are added.  Can you please send a patch to move init to
    ->create()?
    
    If nobody objects && after Li comes back and acks the changes, I'll
    route these through cgroup/for-3.5.
    
    diffstat follows.
    
     block/blk-cgroup.c        |   45 ++---
     include/linux/cgroup.h    |   51 ++++--
     kernel/cgroup.c           |  359 +++++++++++++++++++++++++++++++++++-----------
     kernel/cgroup_freezer.c   |   11 -
     kernel/cpuset.c           |   31 +--
     kernel/sched/core.c       |   16 --
     mm/memcontrol.c           |   77 ++++-----
     net/core/netprio_cgroup.c |   30 +--
     net/ipv4/tcp_memcontrol.c |   71 ++++-----
     net/sched/cls_cgroup.c    |   31 +--
     security/device_cgroup.c  |   10 -
     11 files changed, 437 insertions(+), 295 deletions(-)
    
    Thanks.
    
    --
    tejun
    
    [L] http://thread.gmane.org/gmane.linux.kernel.containers/22623
    [1] http://thread.gmane.org/gmane.linux.kernel.cgroups/1192/focus=22611
    
    ^ permalink raw reply	[flat|nested] 29+ messages in thread

    end of thread, other threads:[~2012-04-03 20:37 UTC | newest]
    
    Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <1332368265-21586-1-git-send-email-tj@kernel.org>
         [not found] ` <1332368265-21586-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
    2012-03-21 22:17   ` [PATCH 01/12] cgroup: move cgroup_clear_directory() call out of cgroup_populate_dir() Tejun Heo
    2012-03-21 22:17   ` [PATCH 02/12] cgroup: build list of all cgroups under a given cgroupfs_root Tejun Heo
    2012-03-21 22:17   ` [PATCH 03/12] cgroup: implement cgroup_add_cftypes() and friends Tejun Heo
    2012-03-21 22:17   ` [PATCH 04/12] cgroup: merge cft_release_agent cftype array into the base files array Tejun Heo
    2012-03-21 22:17   ` [PATCH 05/12] cgroup: relocate cftype and cgroup_subsys definitions in controllers Tejun Heo
    2012-03-21 22:17   ` [PATCH 06/12] cgroup: convert all non-memcg controllers to the new cftype interface Tejun Heo
    2012-03-21 22:17   ` [PATCH 07/12] memcg: always create memsw files if CONFIG_CGROUP_MEM_RES_CTLR_SWAP Tejun Heo
         [not found]     ` <1332368265-21586-8-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
    2012-03-22  0:23       ` KAMEZAWA Hiroyuki
    2012-03-21 22:17   ` [PATCH 08/12] cgroup: convert memcg controller to the new cftype interface Tejun Heo
         [not found]     ` <1332368265-21586-9-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
    2012-03-22  0:27       ` KAMEZAWA Hiroyuki
    2012-03-21 22:17   ` [PATCH 09/12] cgroup: remove cgroup_add_file[s]() Tejun Heo
    2012-03-21 22:17   ` [PATCH 10/12] cgroup: relocate __d_cgrp() and __d_cft() Tejun Heo
    2012-03-21 22:17   ` [PATCH 11/12] cgroup: introduce struct cfent Tejun Heo
         [not found]     ` <1332368265-21586-12-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
    2012-03-30 20:42       ` [PATCH UPDATED " Tejun Heo
    2012-03-21 22:17   ` [PATCH 12/12] cgroup: implement cgroup_rm_cftypes() Tejun Heo
    2012-03-22  9:04   ` [PATCHSET] cgroup: cftype based file interface, take #2 Glauber Costa
    2012-03-30 12:42   ` Li Zefan
    2012-03-30 22:29   ` Tejun Heo
         [not found]     ` <20120330222936.GI28934-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
    2012-03-31 12:44       ` Li Zefan
         [not found]         ` <4F76FC27.3050709-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
    2012-03-31 16:31           ` Tejun Heo
    2012-04-03  3:22       ` Glauber Costa
         [not found]     ` <4F7A6D13.4060704@parallels.com>
         [not found]       ` <4F7A6D13.4060704-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
    2012-04-03 18:47         ` Tejun Heo
         [not found]           ` <20120403184719.GB27794-RcKxWJ4Cfj1J2suj2OqeGauc2jM2gXBXkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
    2012-04-03 18:52             ` Tejun Heo
         [not found]           ` <20120403185216.GD27794@dhcp-172-17-108-109.mtv.corp.google.com>
         [not found]             ` <20120403185216.GD27794-RcKxWJ4Cfj1J2suj2OqeGauc2jM2gXBXkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
    2012-04-03 20:37               ` Glauber Costa
    2012-03-31 16:47   ` Tejun Heo
         [not found] ` <4F75AA1F.9020007@huawei.com>
         [not found]   ` <4F75AA1F.9020007-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
    2012-03-30 15:42     ` Tejun Heo
         [not found]       ` <20120330154246.GE28934-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
    2012-03-31 12:56         ` Li Zefan
         [not found]       ` <4F76FF04.40007@huawei.com>
         [not found]         ` <4F76FF04.40007-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
    2012-03-31 16:30           ` Tejun Heo
    2012-03-21 22:17 Tejun Heo
    

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