[LTP] [PATCH] controllers/cgroup: Skip regression test on cgroup v2 systems
Li Wang
liwang@redhat.com
Mon Mar 16 04:52:33 CET 2026
On Sun, Mar 15, 2026 at 01:59:33PM +0100, Samir wrote:
> The cgroup_regression_test.sh test2 attempts to mount a cgroup
> filesystem and expects a cgroup v1 hierarchy. On systems using
> cgroup v2 (unified hierarchy), the test fails with:
>
> TFAIL: Failed to mount cgroup filesystem
>
> because the legacy cgroup v1 mount layout is not available.
>
> Add a check for the presence of /sys/fs/cgroup/cgroup.controllers,
> which indicates a cgroup v2 system. If detected, mark the test
> as TCONF since the test is only applicable to cgroup v1.
>
> This prevents false failures when running the controllers suite
> on systems where cgroup v2 is enabled by default.
>
> Signed-off-by: Samir <samir@linux.ibm.com>
> ---
> .../kernel/controllers/cgroup/cgroup_regression_test.sh | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/testcases/kernel/controllers/cgroup/cgroup_regression_test.sh b/testcases/kernel/controllers/cgroup/cgroup_regression_test.sh
> index 276231fe8..f6deb0d43 100755
> --- a/testcases/kernel/controllers/cgroup/cgroup_regression_test.sh
> +++ b/testcases/kernel/controllers/cgroup/cgroup_regression_test.sh
> @@ -118,6 +118,13 @@ test2()
> local val1
> local val2
>
> + # This test is specific to cgroup v1
> + # Check if system is using cgroup v2
> + if [ -f /sys/fs/cgroup/cgroup.controllers ]; then
This is typically right as the '/sys/fs/cgroup' is Cgroup default mount path,
but if a tested system does not mount there, this won't work.
Maybe we can go with the cgroup_lib.sh standard way for version check?
cgroup_require "memory"
cgroup_version=$(cgroup_get_version "memory")
if [ "$cgroup_version" = "2" ]; then
tst_res TCONF "memory controller mounted on cgroup v2 hierarchy, skipping test."
return
fi
--
Regards,
Li Wang
More information about the ltp
mailing list