[LTP] [PATCH v6 06/10] controllers: Update memcg_stress_test to use newer cgroup lib
Luke Nowakowski-Krijger
luke.nowakowskikrijger@canonical.com
Wed Jul 27 00:13:22 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->v6: None
.../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 fa0df3196..d38c650ea 100755
--- a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
+++ b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
@@ -21,10 +21,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 }'`
@@ -41,18 +47,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
@@ -69,13 +64,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
@@ -91,12 +84,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.34.1
More information about the ltp
mailing list