diff --git a/tools/testing/selftests/mm/charge_reserved_hugetlb.sh b/tools/testing/selftests/mm/charge_reserved_hugetlb.sh index a1cfd3a349db..65065b1377b2 100755 --- a/tools/testing/selftests/mm/charge_reserved_hugetlb.sh +++ b/tools/testing/selftests/mm/charge_reserved_hugetlb.sh @@ -39,6 +39,14 @@ if [[ $cgroup2 ]]; then mount -t cgroup2 none $cgroup_path do_umount=1 fi + if ! grep -qw hugetlb $cgroup_path/cgroup.controllers; then + echo "hugetlb controller not available in cgroup v2. Skipping..." + if [[ $do_umount ]]; then + umount $cgroup_path + rmdir $cgroup_path + fi + exit $ksft_skip + fi echo "+hugetlb" >$cgroup_path/cgroup.subtree_control else cgroup_path=$(mount -t cgroup | grep ",hugetlb" | awk '{print $3}') diff --git a/tools/testing/selftests/mm/hugetlb_reparenting_test.sh b/tools/testing/selftests/mm/hugetlb_reparenting_test.sh index 95f517c3bd16..811912ae7d97 100755 --- a/tools/testing/selftests/mm/hugetlb_reparenting_test.sh +++ b/tools/testing/selftests/mm/hugetlb_reparenting_test.sh @@ -29,6 +29,16 @@ if [[ $cgroup2 ]]; then mount -t cgroup2 none $CGROUP_ROOT do_umount=1 fi + for ctrl in hugetlb memory; do + if ! grep -qw $ctrl $CGROUP_ROOT/cgroup.controllers; then + echo "$ctrl controller not available in cgroup v2. Skipping..." + if [[ $do_umount ]]; then + umount $CGROUP_ROOT + rmdir $CGROUP_ROOT + fi + exit $ksft_skip + fi + done echo "+hugetlb +memory" >$CGROUP_ROOT/cgroup.subtree_control else CGROUP_ROOT=$(mount -t cgroup | grep ",hugetlb" | awk '{print $3}')