Re: [PATCH] cgroup_fj: don't disable controller that was already enabled
Wei Gao via ltp <[email protected]>
| Newsgroups | gmane.linux.ltp |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Jun 11, 2026 at 05:03:41PM +0200, Andrea Cervesato wrote: > From: Andrea Cervesato <andrea.cervesato-IBi9RG/[email protected]> > > On immutable distributions (and systemd-managed systems in general) > the cpuset controller is typically already enabled at the root cgroup > level. The cleanup tried to unconditionally disable it via > subtree_control, which failed with EBUSY because other system cgroups > were still using it, producing a spurious TWARN. > > Save whether the controller was already enabled at root before > cgroup_require and skip the root-level disable in cleanup when it > was. > > Signed-off-by: Andrea Cervesato <andrea.cervesato-IBi9RG/[email protected]> > --- > testcases/kernel/controllers/cgroup_fj/cgroup_fj_common.sh | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/testcases/kernel/controllers/cgroup_fj/cgroup_fj_common.sh b/testcases/kernel/controllers/cgroup_fj/cgroup_fj_common.sh > index 153d351d7936effb15527620f565acaaed7ac747..8b5e73466ba32d2c66a2805a03f4d2136c16509b 100755 > --- a/testcases/kernel/controllers/cgroup_fj/cgroup_fj_common.sh > +++ b/testcases/kernel/controllers/cgroup_fj/cgroup_fj_common.sh > @@ -57,6 +57,14 @@ create_subgroup() > > common_setup() > { > + # Check if the controller is already enabled at root before > + # cgroup_require potentially enables it, so that cleanup does > + # not disable a controller the system was already using. > + if [ -f /sys/fs/cgroup/cgroup.subtree_control ] && \ > + grep -qw "$subsystem" /sys/fs/cgroup/cgroup.subtree_control; then > + ctrl_was_enabled=1 > + fi > + > cgroup_require "$subsystem" > mount_point=$(cgroup_get_mountpoint "$subsystem") > start_path=$(cgroup_get_test_path "$subsystem") > @@ -77,7 +85,7 @@ common_cleanup() > > cgroup_cleanup > > - if [ "$cgroup_version" = "2" ]; then > + if [ "$cgroup_version" = "2" ] && [ "$ctrl_was_enabled" != "1" ]; then > case "$subsystem" in > cpu|io|memory|pids) > :;; > > --- > base-commit: a375e8deed471723f5a0114c56eb48fe6f6f45d3 > change-id: 20260611-fix_cgroup_immutable-2259f7591f8d > > Best regards, > -- > Andrea Cervesato <andrea.cervesato-IBi9RG/[email protected]> Reviewed-by: Wei Gao <wegao-IBi9RG/[email protected]> > > > -- > Mailing list info: https://lists.linux.it/listinfo/ltp -- Mailing list info: https://lists.linux.it/listinfo/ltp