cgroup: clean up cgroup_subsys names and initialization
cgroup_subsys is a bit messier than it needs to be. * The name of a subsys can be different from its internal identifier defined in cgroup_subsys.h. Most subsystems use the matching name but three - cpu, memory and perf_event - use different ones. * cgroup_subsys_id enums are postfixed with _subsys_id and each cgroup_subsys is postfixed with _subsys. cgroup.h is widely included throughout various subsystems, it doesn't and shouldn't have claim on such generic names which don't have any qualifier indicating that they belong to cgroup. * cgroup_subsys->subsys_id should always equal the matching cgroup_subsys_id enum; however, we require each controller to initialize it and then BUG if they don't match, which is a bit silly. This patch cleans up cgroup_subsys names and initialization by doing the followings. * cgroup_subsys_id enums are now postfixed with _cgrp_id, and each cgroup_subsys with _cgrp_subsys. * With the above, renaming subsys identifiers to match the userland visible names doesn't cause any naming conflicts. All non-matching identifiers are renamed to match the official names. cpu_cgroup -> cpu mem_cgroup -> memory perf -> perf_event * controllers no longer need to initialize ->subsys_id and ->name. They're generated in cgroup core and set automatically during boot. * Redundant cgroup_subsys declarations removed. * While updating BUG_ON()s in cgroup_init_early(), convert them to WARN()s. BUGging that early during boot is stupid - the kernel can't print anything, even through serial console and the trap handler doesn't even link stack frame properly for back-tracing. This patch doesn't introduce any behavior changes. v2: Rebased on top of fe1217c4 ("net: net_cls: move cgroupfs classid handling into core"). Signed-off-by:Tejun Heo <tj@kernel.org> Acked-by:
Neil Horman <nhorman@tuxdriver.com> Acked-by:
"David S. Miller" <davem@davemloft.net> Acked-by:
"Rafael J. Wysocki" <rjw@rjwysocki.net> Acked-by:
Michal Hocko <mhocko@suse.cz> Acked-by:
Peter Zijlstra <peterz@infradead.org> Acked-by:
Aristeu Rozanski <aris@redhat.com> Acked-by:
Ingo Molnar <mingo@redhat.com> Acked-by:
Li Zefan <lizefan@huawei.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Balbir Singh <bsingharora@gmail.com> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Serge E. Hallyn <serue@us.ibm.com> Cc: Vivek Goyal <vgoyal@redhat.com> Cc: Thomas Graf <tgraf@suug.ch>
Showing
- block/blk-cgroup.c 3 additions, 5 deletionsblock/blk-cgroup.c
- block/blk-cgroup.h 1 addition, 1 deletionblock/blk-cgroup.h
- fs/bio.c 1 addition, 1 deletionfs/bio.c
- include/linux/cgroup.h 4 additions, 3 deletionsinclude/linux/cgroup.h
- include/linux/cgroup_subsys.h 3 additions, 3 deletionsinclude/linux/cgroup_subsys.h
- include/linux/hugetlb_cgroup.h 1 addition, 1 deletioninclude/linux/hugetlb_cgroup.h
- include/linux/memcontrol.h 1 addition, 1 deletioninclude/linux/memcontrol.h
- include/net/cls_cgroup.h 1 addition, 1 deletioninclude/net/cls_cgroup.h
- include/net/netprio_cgroup.h 1 addition, 1 deletioninclude/net/netprio_cgroup.h
- kernel/cgroup.c 20 additions, 14 deletionskernel/cgroup.c
- kernel/cgroup_freezer.c 2 additions, 6 deletionskernel/cgroup_freezer.c
- kernel/cpuset.c 4 additions, 6 deletionskernel/cpuset.c
- kernel/events/core.c 3 additions, 5 deletionskernel/events/core.c
- kernel/sched/core.c 2 additions, 4 deletionskernel/sched/core.c
- kernel/sched/cpuacct.c 2 additions, 4 deletionskernel/sched/cpuacct.c
- mm/hugetlb_cgroup.c 3 additions, 6 deletionsmm/hugetlb_cgroup.c
- mm/memcontrol.c 10 additions, 12 deletionsmm/memcontrol.c
- net/core/netclassid_cgroup.c 2 additions, 4 deletionsnet/core/netclassid_cgroup.c
- net/core/netprio_cgroup.c 1 addition, 3 deletionsnet/core/netprio_cgroup.c
- net/ipv4/tcp_memcontrol.c 1 addition, 1 deletionnet/ipv4/tcp_memcontrol.c
Loading
Please register or sign in to comment