• R
    cgroup: implement hierarchy limits · 1a926e0b
    Roman Gushchin 提交于
    Creating cgroup hierearchies of unreasonable size can affect
    overall system performance. A user might want to limit the
    size of cgroup hierarchy. This is especially important if a user
    is delegating some cgroup sub-tree.
    
    To address this issue, introduce an ability to control
    the size of cgroup hierarchy.
    
    The cgroup.max.descendants control file allows to set the maximum
    allowed number of descendant cgroups.
    The cgroup.max.depth file controls the maximum depth of the cgroup
    tree. Both are single value r/w files, with "max" default value.
    
    The control files exist on each hierarchy level (including root).
    When a new cgroup is created, we check the total descendants
    and depth limits on each level, and if none of them are exceeded,
    a new cgroup is created.
    
    Only alive cgroups are counted, removed (dying) cgroups are
    ignored.
    Signed-off-by: NRoman Gushchin <guro@fb.com>
    Suggested-by: NTejun Heo <tj@kernel.org>
    Signed-off-by: NTejun Heo <tj@kernel.org>
    Cc: Zefan Li <lizefan@huawei.com>
    Cc: Waiman Long <longman@redhat.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: kernel-team@fb.com
    Cc: cgroups@vger.kernel.org
    Cc: linux-doc@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    1a926e0b
cgroup-defs.h 22.7 KB