[LTP] [PATCH 12/16] controllers: Update memcg_stress_test to use newer cgroup lib
Luke Nowakowski-Krijger
luke.nowakowskikrijger@canonical.com
Wed Jan 19 15:44:14 CET 2022
Update the test to use the newer cgroup lib which enables the testing of
both v1 and v2 memory controllers and makes the setup and cleanup much
simpler.
Signed-off-by: Luke Nowakowski-Krijger <luke.nowakowskikrijger@canonical.com>
---
.../memcg/stress/memcg_stress_test.sh | 32 +++++++------------
1 file changed, 12 insertions(+), 20 deletions(-)
diff --git a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
index c43d72116..daed24b2c 100755
--- a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
+++ b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
@@ -23,10 +23,16 @@ TST_TIMEOUT=2100
setup()
{
- if ! is_cgroup_subsystem_available_and_enabled "memory"; then
- tst_brk TCONF "Either kernel does not support Memory Resource Controller or feature not enabled"
+ cgroup_require "memory"
+ cgroup_v=$(cgroup_get_version "memory")
+ test_path=$(cgroup_get_test_path "memory")
+ task_list=$(cgroup_get_task_list "memory")
+ if [ "$cgroup_v" = "V2" ]; then
+ ROD echo "+memory" > "$test_path/cgroup.subtree_control"
fi
+ tst_res TINFO "test starts with cgroup $cgroup_v"
+
echo 3 > /proc/sys/vm/drop_caches
sleep 2
local mem_free=`cat /proc/meminfo | grep MemFree | awk '{ print $2 }'`
@@ -43,18 +49,7 @@ setup()
cleanup()
{
- if [ -e /dev/memcg ]; then
- EXPECT_PASS umount /dev/memcg
- EXPECT_PASS rmdir /dev/memcg
- fi
-}
-
-do_mount()
-{
- cleanup
-
- EXPECT_PASS mkdir /dev/memcg
- EXPECT_PASS mount -t cgroup -omemory memcg /dev/memcg
+ cgroup_cleanup
}
# $1 Number of cgroups
@@ -71,13 +66,11 @@ run_stress()
tst_res TINFO "Testing $cgroups cgroups, using $mem_size MB, interval $interval"
- do_mount
-
tst_res TINFO "Starting cgroups"
for i in $(seq 0 $(($cgroups-1))); do
- mkdir /dev/memcg/$i 2> /dev/null
+ ROD mkdir "$test_path/$i"
memcg_process_stress $mem_size $interval &
- echo $! > /dev/memcg/$i/tasks
+ ROD echo $! > "$test_path/$i/$task_list"
pids="$pids $!"
done
@@ -93,12 +86,11 @@ run_stress()
for pid in $pids; do
kill -KILL $pid 2> /dev/null
wait $pid 2> /dev/null
- rmdir /dev/memcg/$i 2> /dev/null
+ ROD rmdir "$test_path/$i"
i=$((i+1))
done
tst_res TPASS "Test passed"
- cleanup
}
test1()
--
2.32.0
More information about the ltp
mailing list