• Roman Gushchin's avatar
    cgroup: add cgroup.stat interface with basic hierarchy stats · ec39225c
    Roman Gushchin authored
    A cgroup can consume resources even after being deleted by a user.
    For example, writing back dirty pages should be accounted and
    limited, despite the corresponding cgroup might contain no processes
    and being deleted by a user.
    
    In the current implementation a cgroup can remain in such "dying" state
    for an undefined amount of time. For instance, if a memory cgroup
    contains a pge, mlocked by a process belonging to an other cgroup.
    
    Although the lifecycle of a dying cgroup is out of user's control,
    it's important to have some insight of what's going on under the hood.
    
    In particular, it's handy to have a counter which will allow
    to detect css leaks.
    
    To solve this problem, add a cgroup.stat interface to
    the base cgroup control files with the following metrics:
    
    nr_descendants		total number of visible descendant cgroups
    nr_dying_descendants	total number of dying descendant cgroups
    Signed-off-by: default avatarRoman Gushchin <guro@fb.com>
    Suggested-by: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarTejun 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
    ec39225c
cgroup.c 151 KB