cgroup: remove cgroup_enable_task_cg_lists() optimization
authorTejun Heo <tj@kernel.org>
Thu, 24 Oct 2019 19:03:51 +0000 (12:03 -0700)
committerTejun Heo <tj@kernel.org>
Fri, 25 Oct 2019 12:56:28 +0000 (05:56 -0700)
commit5153faac18d293fc7abb19ff7034683fbcd82dc7
tree485462f8daa9a37a6c5e6f8f70f2f4abcaa38099
parenta713af394cf382a30dd28a1015cbe572f1b9ca75
cgroup: remove cgroup_enable_task_cg_lists() optimization

cgroup_enable_task_cg_lists() is used to lazyily initialize task
cgroup associations on the first use to reduce fork / exit overheads
on systems which don't use cgroup.  Unfortunately, locking around it
has never been actually correct and its value is dubious given how the
vast majority of systems use cgroup right away from boot.

This patch removes the optimization.  For now, replace the cg_list
based branches with WARN_ON_ONCE()'s to be on the safe side.  We can
simplify the logic further in the future.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/cgroup.h
kernel/cgroup/cgroup.c
kernel/cgroup/cpuset.c