Re: [PATCH] cgroup_fj: don't disable controller that was already enabled

Sebastian Chlad <[email protected]>
Newsgroups gmane.linux.ltp
Message-ID <CAJCsO8cqT94dF1N6yqswABJCN6+BCM4eawH6D=twnHAA9m5o0A@mail.gmail.com>
On Fri, 12 Jun 2026 at 11:04, Wei Gao via ltp <[email protected]> wrote:

> 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]>
>

Feel free to add:
Reviewed-by: Sebastian Chlad <sebastian.chlad-IBi9RG/[email protected]>


> >
> >
> > --
> > Mailing list info: https://lists.linux.it/listinfo/ltp
>
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
>

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.