linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHSET cgroup/for-3.14] cgroup: drop module support and cgroup_root_mutex
@ 2014-01-17 18:11 Tejun Heo
  2014-01-17 18:11 ` [PATCH 1/6] cgroup: make CONFIG_NET_CLS_CGROUP and CONFIG_NETPRIO_CGROUP bool instead of tristate Tejun Heo
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Tejun Heo @ 2014-01-17 18:11 UTC (permalink / raw)
  To: lizefan; +Cc: containers, cgroups, linux-kernel

Hello,

There are only two controllers which make use of the module support -
net_cls and net_prio, both of which, non-coincidentally, aren't actual
resource controllers.  It's highly unlikely that the actual resource
controlling controllers are gonna be made modular and we aren't gonna
add more non-resource controllers either, so the value of module
support is strictly restricted to the two existing controllers.

Both controllers are fairly simple while module support in cgroup core
adds quite a bit of complexity.  Building those two controllers as
module only saves about half-page in vmlinux, which really can't
justify the additional complexity and (minute but existing) runtime
overhead.

This patchset makes net_cls and net_prio config options bool so that
they can't be built as modules and drop module support from cgroup
core, which in turn facilitates further simplification leading to
removal of cgroup_root_mutex by allowing iterating subsystems outside
the mutexes.

This patchset contains the following six patches.

 0001-cgroup-make-CONFIG_NET_CLS_CGROUP-and-CONFIG_NETPRIO.patch
 0002-cgroup-drop-module-support.patch
 0003-cgroup-clean-up-cgroup_subsys-names-and-initializati.patch
 0004-cgroup-rename-cgroup_subsys-subsys_id-to-id.patch
 0005-cgroup-update-locking-in-cgroup_show_options.patch
 0006-cgroup-remove-cgroup_root_mutex.patch

0001-0002 drop cgroup module support.

0003-0004 are cleanups.

0005-0006 remove cgroup_root_mutex.

The patchset is also available in the following git branch.

 git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-simplify

diffstat follows.  Thanks.

 block/blk-cgroup.c             |    9
 block/blk-cgroup.h             |    2
 fs/bio.c                       |    2
 include/linux/cgroup.h         |   38 ---
 include/linux/cgroup_subsys.h  |   30 +--
 include/linux/hugetlb_cgroup.h |    2
 include/linux/memcontrol.h     |    2
 include/net/cls_cgroup.h       |    4
 include/net/netprio_cgroup.h   |    4
 kernel/cgroup.c                |  392 ++++++-----------------------------------
 kernel/cgroup_freezer.c        |    8
 kernel/cpuset.c                |   10 -
 kernel/events/core.c           |    8
 kernel/sched/core.c            |    6
 kernel/sched/cpuacct.c         |    6
 mm/hugetlb_cgroup.c            |    9
 mm/memcontrol.c                |   22 +-
 net/Kconfig                    |    2
 net/core/netprio_cgroup.c      |   37 ---
 net/ipv4/tcp_memcontrol.c      |    2
 net/sched/Kconfig              |    2
 net/sched/cls_cgroup.c         |   30 ---
 security/device_cgroup.c       |    8
 23 files changed, 132 insertions(+), 503 deletions(-)

--
tejun

^ permalink raw reply	[flat|nested] 19+ messages in thread
* [PATCHSET v2 cgroup/for-3.15] cgroup: drop module support and cgroup_root_mutex
@ 2014-01-28 23:43 Tejun Heo
  2014-01-28 23:44 ` [PATCH 5/6] cgroup: update locking in cgroup_show_options() Tejun Heo
  0 siblings, 1 reply; 19+ messages in thread
From: Tejun Heo @ 2014-01-28 23:43 UTC (permalink / raw)
  To: lizefan; +Cc: containers, cgroups, linux-kernel

Hello,

This is the second take.  Changes from the last take[L] are

* Updated to reflect changes in fe1217c4f3f7 ("net: net_cls: move
  cgroupfs classid handling into core").

* Rebased on top of the current linus#master + some cgroup fix
  patches.

There's only one controller which makes use of the module support -
net_prio, which, non-coincidentally, isn't an actual resource
controller.  It's highly unlikely that the actual resource controlling
controllers are gonna be made modular and we aren't gonna add more
non-resource controllers either, so the value of module support is
strictly restricted to the particular controller.

The controller is fairly simple while module support in cgroup core
adds quite a bit of complexity.  Building the one controller as module
only saves less than half-page in vmlinux, which really can't justify
the additional complexity and (minute but existing) runtime overhead.

This patchset makes net_prio config options bool so that it can't be
built as modules and drops module support from cgroup core, which in
turn facilitates further simplification leading to removal of
cgroup_root_mutex by allowing iterating subsystems outside the
mutexes.

This patchset contains the following six patches.

 0001-cgroup-make-CONFIG_CGROUP_NET_PRIO-bool-and-drop-unn.patch
 0002-cgroup-drop-module-support.patch
 0003-cgroup-clean-up-cgroup_subsys-names-and-initializati.patch
 0004-cgroup-rename-cgroup_subsys-subsys_id-to-id.patch
 0005-cgroup-update-locking-in-cgroup_show_options.patch
 0006-cgroup-remove-cgroup_root_mutex.patch

0001-0002 drop cgroup module support.

0003-0004 are cleanups.

0005-0006 remove cgroup_root_mutex.

The patchset is on top of

  linus#master 54c0a4b46150 ("Merge branch 'akpm' (incoming from Andrew)")
+ [1] [PATCHSET cgroup/for-3.14-fixes] cgroup: four misc fixes
+ [2] [PATCH] arm, pm, vmpressure: add missing slab.h includes

and also available in the following git branch.

 git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-simplify

diffstat follows.  Thanks.

 block/blk-cgroup.c             |    9
 block/blk-cgroup.h             |    2
 fs/bio.c                       |    2
 include/linux/cgroup.h         |   38 ---
 include/linux/cgroup_subsys.h  |   30 +--
 include/linux/hugetlb_cgroup.h |    2
 include/linux/memcontrol.h     |    2
 include/net/cls_cgroup.h       |    2
 include/net/netprio_cgroup.h   |   17 -
 kernel/cgroup.c                |  394 ++++++-----------------------------------
 kernel/cgroup_freezer.c        |    8
 kernel/cpuset.c                |   10 -
 kernel/events/core.c           |    8
 kernel/sched/core.c            |    6
 kernel/sched/cpuacct.c         |    6
 mm/hugetlb_cgroup.c            |    9
 mm/memcontrol.c                |   22 +-
 net/Kconfig                    |    2
 net/core/netclassid_cgroup.c   |   13 -
 net/core/netprio_cgroup.c      |   37 ---
 net/ipv4/tcp_memcontrol.c      |    2
 security/device_cgroup.c       |    8
 22 files changed, 128 insertions(+), 501 deletions(-)

Thanks.

--
tejun

[L] http://lkml.kernel.org/g/<1389982317-22225-1-git-send-email-tj@kernel.org>
[1] http://lkml.kernel.org/g/<1390923125-4369-1-git-send-email-tj@kernel.org>
[2] http://lkml.kernel.org/g/<20140128221922.GC16060@mtj.dyndns.org>

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

end of thread, other threads:[~2014-01-28 23:44 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-17 18:11 [PATCHSET cgroup/for-3.14] cgroup: drop module support and cgroup_root_mutex Tejun Heo
2014-01-17 18:11 ` [PATCH 1/6] cgroup: make CONFIG_NET_CLS_CGROUP and CONFIG_NETPRIO_CGROUP bool instead of tristate Tejun Heo
2014-01-17 20:37   ` Neil Horman
2014-01-18  1:08   ` Li Zefan
2014-01-18 11:25     ` Daniel Borkmann
2014-01-18 15:10     ` Tejun Heo
2014-01-18 15:26       ` Daniel Borkmann
2014-01-18 15:28         ` Tejun Heo
2014-01-18 15:29           ` Daniel Borkmann
2014-01-18  3:10   ` David Miller
2014-01-17 18:11 ` [PATCH 2/6] cgroup: drop module support Tejun Heo
2014-01-17 18:11 ` [PATCH 3/6] cgroup: clean up cgroup_subsys names and initialization Tejun Heo
2014-01-17 20:49   ` Neil Horman
2014-01-18  3:10   ` David Miller
2014-01-20 13:13   ` Michal Hocko
2014-01-17 18:11 ` [PATCH 4/6] cgroup: rename cgroup_subsys->subsys_id to ->id Tejun Heo
2014-01-17 18:11 ` [PATCH 5/6] cgroup: update locking in cgroup_show_options() Tejun Heo
2014-01-17 18:11 ` [PATCH 6/6] cgroup: remove cgroup_root_mutex Tejun Heo
2014-01-28 23:43 [PATCHSET v2 cgroup/for-3.15] cgroup: drop module support and cgroup_root_mutex Tejun Heo
2014-01-28 23:44 ` [PATCH 5/6] cgroup: update locking in cgroup_show_options() 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).