• Roman Gushchin's avatar
    cgroup: protect cgroup->nr_(dying_)descendants by css_set_lock · d17cd67a
    Roman Gushchin authored
    [ Upstream commit 4dcabece4c3a9f9522127be12cc12cc120399b2f ]
    The number of descendant cgroups and the number of dying
    descendant cgroups are currently synchronized using the cgroup_mutex.
    The number of descendant cgroups will be required by the cgroup v2
    freezer, which will use it to determine if a cgroup is frozen
    (depending on total number of descendants and number of frozen
    descendants). It's not always acceptable to grab the cgroup_mutex,
    especially from quite hot paths (e.g. exit()).
    To avoid this, let's additionally synchronize these counters using
    the css_set_lock.
    So, it's safe to read these counters with either cgroup_mutex or
    css_set_lock locked, and for changing both locks should be acquired.
    Signed-off-by: default avatarRoman Gushchin <guro@fb.com>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: kernel-team@fb.com
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Last commit
Last update
Makefile Loading commit data...
cgroup-internal.h Loading commit data...
cgroup-v1.c Loading commit data...
cgroup.c Loading commit data...
cpuset.c Loading commit data...
debug.c Loading commit data...
freezer.c Loading commit data...
namespace.c Loading commit data...
pids.c Loading commit data...
rdma.c Loading commit data...