• T
    cgroup: make cgrp_dfl_root mountable · a2dd4247
    Tejun Heo 提交于
    cgrp_dfl_root will be used as the default unified hierarchy.  This
    patch makes cgrp_dfl_root mountable by making the following changes.
    
    * cgroup_init_early() now initializes cgrp_dfl_root w/
      CGRP_ROOT_SANE_BEHAVIOR.  The default hierarchy is always sane.
    
    * parse_cgroupfs_options() and cgroup_mount() are updated such that
      cgrp_dfl_root is mounted if sane_behavior is specified w/o any
      subsystems.
    
    * rebind_subsystems() now populates the root directory of
      cgrp_dfl_root.  Note that the function still guarantees success of
      rebinding subsystems to cgrp_dfl_root.  If populating fails while
      rebinding to cgrp_dfl_root, it whines but ignores the error.
    
    * For backward compatibility, the default hierarchy shows up in
      /proc/$PID/cgroup only after it's explicitly mounted so that
      userland which doesn't make use of it doesn't see any change.
    
    * "current_css_set_cg_links" file of debug cgroup now treats the
      default hierarchy the same as other hierarchies.  This is visible to
      userland.  Given that it's for debug controller, this should be
      fine.
    
    * While at it, implement cgroup_on_dfl() which tests whether a give
      cgroup is on the default hierarchy or not.
    
    The above changes make cgrp_dfl_root mostly equivalent to other
    controllers but the actual unified hierarchy behaviors are not
    implemented yet.  Let's plug child cgroup creation in cgrp_dfl_root
    from create_cgroup() for now.
    Signed-off-by: NTejun Heo <tj@kernel.org>
    Acked-by: NLi Zefan <lizefan@huawei.com>
    a2dd4247
cgroup.c 128.5 KB