
add memory bandwidth testcases for MPAM Signed-off-by: Wen Renjie <wenrenjie@huawei.com> --- testcases/feature-test/mpam/mpam_mb_01.sh | 32 ++++++++++++++++ testcases/feature-test/mpam/mpam_mb_02.sh | 32 ++++++++++++++++ testcases/feature-test/mpam/mpam_mb_03.sh | 30 +++++++++++++++ testcases/feature-test/mpam/mpam_mb_04.sh | 30 +++++++++++++++ testcases/feature-test/mpam/mpam_mb_05.sh | 46 +++++++++++++++++++++++ testcases/feature-test/mpam/mpam_mb_06.sh | 46 +++++++++++++++++++++++ testcases/feature-test/mpam/mpam_mb_07.sh | 46 +++++++++++++++++++++++ 7 files changed, 262 insertions(+) create mode 100755 testcases/feature-test/mpam/mpam_mb_01.sh create mode 100755 testcases/feature-test/mpam/mpam_mb_02.sh create mode 100755 testcases/feature-test/mpam/mpam_mb_03.sh create mode 100755 testcases/feature-test/mpam/mpam_mb_04.sh create mode 100755 testcases/feature-test/mpam/mpam_mb_05.sh create mode 100755 testcases/feature-test/mpam/mpam_mb_06.sh create mode 100755 testcases/feature-test/mpam/mpam_mb_07.sh diff --git a/testcases/feature-test/mpam/mpam_mb_01.sh b/testcases/feature-test/mpam/mpam_mb_01.sh new file mode 100755 index 00000000..ef976755 --- /dev/null +++ b/testcases/feature-test/mpam/mpam_mb_01.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/08 +# 资源组下,schemata配置内存带宽全部域 MBPRI为最小值0 + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + mkdir $mpam_dir/p1 + + for ((i=0; i<$ENV_NUMA_NUM; i++)); do + echo "MBPRI:$i=0" > $mpam_dir/p1/schemata + grep -w MBPRI $mpam_dir/p1/schemata | grep -q "$i=`printf "%05d" 0`" + if [ $? -eq 0 ]; then + tst_res TPASS "资源组 MBPRI numa $i 配置为最小值成功" + else + tst_res TFAIL "资源组 MBPRI numa $i 配置为最小值失败" + fi + done + + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file diff --git a/testcases/feature-test/mpam/mpam_mb_02.sh b/testcases/feature-test/mpam/mpam_mb_02.sh new file mode 100755 index 00000000..74cad193 --- /dev/null +++ b/testcases/feature-test/mpam/mpam_mb_02.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/08 +# 资源组下,schemata配置内存带宽全部域 MBPRI为最大值 + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + mkdir $mpam_dir/p1 + + for ((i=0; i<$ENV_NUMA_NUM; i++)); do + echo "MBPRI:$i=7" > $mpam_dir/p1/schemata + grep -w MBPRI $mpam_dir/p1/schemata | grep -q "$i=`printf "%05d" 7`" + if [ $? -eq 0 ]; then + tst_res TPASS "资源组 MBPRI numa $i 配置为最大值成功" + else + tst_res TFAIL "资源组 MBPRI numa $i 配置为最大值失败" + fi + done + + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file diff --git a/testcases/feature-test/mpam/mpam_mb_03.sh b/testcases/feature-test/mpam/mpam_mb_03.sh new file mode 100755 index 00000000..9068155f --- /dev/null +++ b/testcases/feature-test/mpam/mpam_mb_03.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/08 +# resctrl分组下,schemata配置内存带宽全部域 MBPRI为最小值0 + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + for ((i=0; i<$ENV_NUMA_NUM; i++)); do + echo "MBPRI:$i=0" > $mpam_dir/schemata + grep -w MBPRI $mpam_dir/schemata | grep -q "$i=`printf "%05d" 0`" + if [ $? -eq 0 ]; then + tst_res TPASS "根分组 MBPRI numa $i 配置为最小值成功" + else + tst_res TFAIL "根分组 MBPRI numa $i 配置为最小值失败" + fi + done + + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file diff --git a/testcases/feature-test/mpam/mpam_mb_04.sh b/testcases/feature-test/mpam/mpam_mb_04.sh new file mode 100755 index 00000000..578d5ed5 --- /dev/null +++ b/testcases/feature-test/mpam/mpam_mb_04.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/08 +# resctrl分组下,schemata配置内存带宽全部域 MBPRI为最大值 + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + for ((i=0; i<$ENV_NUMA_NUM; i++)); do + echo "MBPRI:$i=7" > $mpam_dir/schemata + grep -w MBPRI $mpam_dir/schemata | grep -q "$i=`printf "%05d" 7`" + if [ $? -eq 0 ]; then + tst_res TPASS "根分组 MBPRI numa $i 配置为最大值成功" + else + tst_res TFAIL "根分组 MBPRI numa $i 配置为最大值失败" + fi + done + + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file diff --git a/testcases/feature-test/mpam/mpam_mb_05.sh b/testcases/feature-test/mpam/mpam_mb_05.sh new file mode 100755 index 00000000..4e40396e --- /dev/null +++ b/testcases/feature-test/mpam/mpam_mb_05.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/08 +# resctrl及资源组下,schemata配置MBMIN + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + for ((i=0; i<$ENV_NUMA_NUM; i++)); do + for j in $(seq 0 100); do + echo "MBMIN:$i=$j" > $mpam_dir/schemata + grep -w MBMIN $mpam_dir/schemata | grep -q "$i=`printf "%05d" $j`" + if [ $? -eq 0 ]; then + tst_res TPASS "根分组 MBMIN numa $i 配置为$j 成功" + else + tst_res TFAIL "根分组 MBMIN numa $i 配置为$j 失败" + fi + done + done + + mkdir $mpam_dir/p1 + + for ((i=0; i<$ENV_NUMA_NUM; i++)); do + for j in $(seq 0 100); do + echo "MBMIN:$i=$j" > $mpam_dir/p1/schemata + grep -w MBMIN $mpam_dir/p1/schemata | grep -q "$i=`printf "%05d" $j`" + if [ $? -eq 0 ]; then + tst_res TPASS "资源组 MBMIN numa $i 配置为$j 成功" + else + tst_res TFAIL "资源组 MBMIN numa $i 配置为$j 失败" + fi + done + done + + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file diff --git a/testcases/feature-test/mpam/mpam_mb_06.sh b/testcases/feature-test/mpam/mpam_mb_06.sh new file mode 100755 index 00000000..7a54425d --- /dev/null +++ b/testcases/feature-test/mpam/mpam_mb_06.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/08 +# resctrl及资源组下,schemata配置MB + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + for ((i=0; i<$ENV_NUMA_NUM; i++)); do + for j in $(seq 0 100); do + echo "MB:$i=$j" > $mpam_dir/schemata + grep -w MB $mpam_dir/schemata | grep -q "$i=`printf "%05d" $j`" + if [ $? -eq 0 ]; then + tst_res TPASS "根分组 MB numa $i 配置为$j 成功" + else + tst_res TFAIL "根分组 MB numa $i 配置为$j 失败" + fi + done + done + + mkdir $mpam_dir/p1 + + for ((i=0; i<$ENV_NUMA_NUM; i++)); do + for j in $(seq 0 100); do + echo "MB:$i=$j" > $mpam_dir/p1/schemata + grep -w MB $mpam_dir/p1/schemata | grep -q "$i=`printf "%05d" $j`" + if [ $? -eq 0 ]; then + tst_res TPASS "资源组 MB numa $i 配置为$j 成功" + else + tst_res TFAIL "资源组 MB numa $i 配置为$j 失败" + fi + done + done + + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file diff --git a/testcases/feature-test/mpam/mpam_mb_07.sh b/testcases/feature-test/mpam/mpam_mb_07.sh new file mode 100755 index 00000000..60decfa2 --- /dev/null +++ b/testcases/feature-test/mpam/mpam_mb_07.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# +# Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved. +# Author: wenrenjie@huawei.com +# Create: 2025/09/08 +# resctrl及资源组下,schemata配置MBHDL + +. mpam_lib.sh +tst_begin_test + +fn_main(){ + mount -t resctrl resctrl $mpam_dir + + for ((i=0; i<$ENV_NUMA_NUM; i++)); do + for j in $(seq 0 1); do + echo "MBHDL:$i=$j" > $mpam_dir/schemata + grep -w MBHDL $mpam_dir/schemata | grep -q "$i=`printf "%05d" $j`" + if [ $? -eq 0 ]; then + tst_res TPASS "根分组 MBHDL numa $i 配置为$j 成功" + else + tst_res TFAIL "根分组 MBHDL numa $i 配置为$j 失败" + fi + done + done + + mkdir $mpam_dir/p1 + + for ((i=0; i<$ENV_NUMA_NUM; i++)); do + for j in $(seq 0 1); do + echo "MBHDL:$i=$j" > $mpam_dir/p1/schemata + grep -w MBHDL $mpam_dir/p1/schemata | grep -q "$i=`printf "%05d" $j`" + if [ $? -eq 0 ]; then + tst_res TPASS "资源组 MBHDL numa $i 配置为$j 成功" + else + tst_res TFAIL "资源组 MBHDL numa $i 配置为$j 失败" + fi + done + done + + umount $mpam_dir +} + +fn_main + +tst_check_dmesg +tst_exit \ No newline at end of file -- 2.25.1