From: Tejun Heo Date: Mon, 5 Nov 2012 17:21:51 +0000 (-0800) Subject: Merge branch 'cgroup-rmdir-updates' into cgroup/for-3.8 X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=1db1e31b1ee3ae126ef98f39083b5f213c7b41bf;p=deliverable%2Flinux.git Merge branch 'cgroup-rmdir-updates' into cgroup/for-3.8 Pull rmdir updates into for-3.8 so that further callback updates can be put on top. This pull created a trivial conflict between the following two commits. 8c7f6edbda ("cgroup: mark subsystems with broken hierarchy support and whine if cgroups are nested for them") ed95779340 ("cgroup: kill cgroup_subsys->__DEPRECATED_clear_css_refs") The former added a field to cgroup_subsys and the latter removed one from it. They happen to be colocated causing the conflict. Keeping what's added and removing what's removed resolves the conflict. Signed-off-by: Tejun Heo --- 1db1e31b1ee3ae126ef98f39083b5f213c7b41bf diff --cc include/linux/cgroup.h index 4cd1d0fd2542,adb2adc8ec1a..fe876a77031a --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h @@@ -487,32 -457,6 +459,21 @@@ struct cgroup_subsys */ bool use_id; - /* - * If %true, cgroup removal will try to clear css refs by retrying - * ss->pre_destroy() until there's no css ref left. This behavior - * is strictly for backward compatibility and will be removed as - * soon as the current user (memcg) is updated. - * - * If %false, ss->pre_destroy() can't fail and cgroup removal won't - * wait for css refs to drop to zero before proceeding. - */ - bool __DEPRECATED_clear_css_refs; - + /* + * If %false, this subsystem is properly hierarchical - + * configuration, resource accounting and restriction on a parent + * cgroup cover those of its children. If %true, hierarchy support + * is broken in some ways - some subsystems ignore hierarchy + * completely while others are only implemented half-way. + * + * It's now disallowed to create nested cgroups if the subsystem is + * broken and cgroup core will emit a warning message on such + * cases. Eventually, all subsystems will be made properly + * hierarchical and this will go away. + */ + bool broken_hierarchy; + bool warned_broken_hierarchy; + #define MAX_CGROUP_TYPE_NAMELEN 32 const char *name;