All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luke Nowakowski-Krijger <luke.nowakowskikrijger@canonical.com>
To: ltp@lists.linux.it, rpalethorpe@suse.de, liwang@redhat.com
Subject: [LTP] [PATCH v2 15/19] controllers: Update memcg_stress_test to use newer cgroup lib
Date: Thu, 28 Apr 2022 13:39:40 -0700	[thread overview]
Message-ID: <5345672ba26298f7adc34a7a0684f52ee53a518f.1651176646.git.luke.nowakowskikrijger@canonical.com> (raw)
In-Reply-To: <cover.1651176645.git.luke.nowakowskikrijger@canonical.com>

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


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  parent reply	other threads:[~2022-04-28 20:43 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-28 20:39 [LTP] [PATCH v4 00/19] Expand Cgroup lib and modify controller tests Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH v3 01/19] API/cgroup: Modify tst_cg_print_config for parsing and consumption Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH 02/19] API/cgroup: Add option for specific pid to tst_cg_opts Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH v2 03/19] API/cgroup: Add cgroup_find_root helper function Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH 04/19] API/cgroup: Add CTRL_NAME_MAX define Luke Nowakowski-Krijger
2022-05-03 14:26   ` Petr Vorel
2022-04-28 20:39 ` [LTP] [PATCH 05/19] tst_test_macros: Add TST_TOSTR macro Luke Nowakowski-Krijger
2022-05-03 14:38   ` Petr Vorel
2022-05-05 13:34   ` Cyril Hrubis
2022-04-28 20:39 ` [LTP] [PATCH v4 06/19] API/cgroup: Implement tst_cg_load_config Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH v3 07/19] API/cgroup: Add more controllers to tst_cgroup Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH 08/19] API/cgroup: refuse to mount blkio when io controller is mounted Luke Nowakowski-Krijger
2022-05-03 15:10   ` Petr Vorel
2022-04-28 20:39 ` [LTP] [PATCH v2 09/19] testcases/lib: Implement tst_cgctl binary Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH 10/19] testcases/lib: Add tst_flag2mask function Luke Nowakowski-Krijger
2022-05-05  8:01   ` Petr Vorel
2022-04-28 20:39 ` [LTP] [PATCH v4 11/19] controllers: Expand cgroup_lib shell library Luke Nowakowski-Krijger
2022-05-05  8:16   ` Petr Vorel
2022-05-05 13:53     ` Cyril Hrubis
2022-05-10 11:19       ` Petr Vorel
2022-05-13 20:15         ` Luke Nowakowski-Krijger
2022-07-21 21:01           ` Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH v2 12/19] controllers: Update cgroup_fj_* to use newer cgroup lib and test lib Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH v2 13/19] controllers: Update memcg_control_test to newer test lib and cgroup lib Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH v2 14/19] controllers: Update memcg/regression/* to new test " Luke Nowakowski-Krijger
2022-04-28 20:39 ` Luke Nowakowski-Krijger [this message]
2022-04-28 20:39 ` [LTP] [PATCH v2 16/19] controllers: update memcg/functional to use newer " Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH v2 17/19] controllers: Update pids.sh " Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH v2 18/19] controllers: update cpuset_regression_test.sh " Luke Nowakowski-Krijger
2022-04-28 20:39 ` [LTP] [PATCH v2 19/19] controllers: update cgroup_regression_test " Luke Nowakowski-Krijger
2022-05-02  9:19 ` [LTP] [PATCH v4 00/19] Expand Cgroup lib and modify controller tests Richard Palethorpe
2022-05-05  7:49 ` Petr Vorel
2022-07-06  6:17   ` Li Wang
2022-07-06  6:25     ` Li Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5345672ba26298f7adc34a7a0684f52ee53a518f.1651176646.git.luke.nowakowskikrijger@canonical.com \
    --to=luke.nowakowskikrijger@canonical.com \
    --cc=liwang@redhat.com \
    --cc=ltp@lists.linux.it \
    --cc=rpalethorpe@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.