On Wed, Jul 02, 2014 at 07:50:54PM -0400, Tejun Heo wrote: > Until now, cftype arrays carried files for both the default and legacy > hierarchies and the files which needed to be used on only one of them > were flagged with either CFTYPE_ONLY_ON_DFL or CFTYPE_INSANE. This > gets confusing very quickly and we may end up exposing interface files > to the default hierarchy without thinking it through. > > This patch makes cgroup core provide separate sets of interfaces for > cftype handling so that the cftypes for the default and legacy > hierarchies are clearly distinguished. The previous two patches > renamed the existing ones so that they clearly indicate that they're > for the legacy hierarchies. This patch adds the interface for the > default hierarchy and apply them selectively depending on the > hierarchy type. > > * cftypes added through cgroup_subsys->dfl_cftypes and > cgroup_add_dfl_cftypes() only show up on the default hierarchy. > > * cftypes added through cgroup_subsys->legacy_cftypes and > cgroup_add_legacy_cftypes() only show up on the legacy hierarchies. > > * cgroup_subsys->dfl_cftypes and ->legacy_cftypes can point to the > same array for the cases where the interface files are identical on > both types of hierarchies. > > * This makes all the existing subsystem interface files legacy-only by > default and all subsystems will have no interface file created when > enabled on the default hierarchy. Each subsystem should explicitly > review and compose the interface for the default hierarchy. > > * A boot param "cgroup__DEVEL__legacy_files_on_dfl" is added which > makes subsystems which haven't decided the interface files for the > default hierarchy to present the legacy files on the default > hierarchy so that its behavior on the default hierarchy can be > tested. As the awkward name suggests, this is for development only. > > * memcg's CFTYPE_INSANE on "use_hierarchy" is noop now as the whole > array isn't used on the default hierarchy. The flag is removed. > > Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxx> > Cc: Li Zefan <lizefan@xxxxxxxxxx> > Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> > Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> > Cc: Paul Mackerras <paulus@xxxxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> > Cc: Aristeu Rozanski <aris@xxxxxxxxxx> > Cc: Neil Horman <nhorman@xxxxxxxxxxxxx> > Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html