cgroup: Make operations on the cgroup root_list RCU safe
authorYafang Shao <laoar.shao@gmail.com>
Sun, 29 Oct 2023 06:14:29 +0000 (06:14 +0000)
committerTejun Heo <tj@kernel.org>
Thu, 9 Nov 2023 23:25:47 +0000 (13:25 -1000)
commitd23b5c577715892c87533b13923306acc6243f93
tree34dd5580faefac6cad9daf46e27e471d0166a60c
parent96a2b48e5e1df6698f504969f0f51dc34e52ff3d
cgroup: Make operations on the cgroup root_list RCU safe

At present, when we perform operations on the cgroup root_list, we must
hold the cgroup_mutex, which is a relatively heavyweight lock. In reality,
we can make operations on this list RCU-safe, eliminating the need to hold
the cgroup_mutex during traversal. Modifications to the list only occur in
the cgroup root setup and destroy paths, which should be infrequent in a
production environment. In contrast, traversal may occur frequently.
Therefore, making it RCU-safe would be beneficial.

Signed-off-by: Yafang Shao <laoar.shao@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/cgroup-defs.h
kernel/cgroup/cgroup-internal.h
kernel/cgroup/cgroup.c