[LTP] [PATCH v2 15/19] controllers: Update memcg_stress_test to use newer cgroup lib
Luke Nowakowski-Krijger
luke.nowakowskikrijger@canonical.com
Thu Apr 28 22:39:40 CEST 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>
---
v2: Use version number 2 instead of v2
.../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..1c0a8bf22 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_version=$(cgroup_get_version "memory")
+ test_path=$(cgroup_get_test_path "memory")
+ task_list=$(cgroup_get_task_list "memory")
+ if [ "$cgroup_version" = "2" ]; then
+ ROD echo "+memory" > "$test_path/cgroup.subtree_control"
fi
+ tst_res TINFO "test starts with cgroup version $cgroup_version"
+
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