From a11ffedc57d8352bde4f1fea54db72c513618168 Mon Sep 17 00:00:00 2001 From: yuming Date: Sun, 30 Nov 2025 16:23:55 +0800 Subject: [PATCH 1/6] =?UTF-8?q?feat(lmbench):=20=E6=B7=BB=E5=8A=A0=20lmben?= =?UTF-8?q?ch=20=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E5=92=8C=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96/=E6=B8=85=E7=90=86=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 从 DragonOS 镜像站安装 lmbench 二进制包 - 添加 lmbench 测试用例脚本,涵盖内存、进程、文件系统和网络等方面的性能测试 - 修改使用 ext2 文件系统的测试脚本为使用 ext4 文件系统 - 添加测试环境初始化脚本 init.sh ,清理脚本 clean_up.sh和环境变量配置脚本 env.sh --- test | 1 + user/apps/tests/README.md | 5 ++ user/apps/tests/benchmark/README.md | 0 user/apps/tests/benchmark/lmbench/clean_up.sh | 51 ++++++++++++ user/apps/tests/benchmark/lmbench/env.sh | 9 +++ user/apps/tests/benchmark/lmbench/init.sh | 79 +++++++++++++++++++ .../lmbench/test_cases/ext4_copy_files_bw.sh | 20 +++++ .../ext4_create_delete_files_0k_ops.sh | 18 +++++ .../ext4_create_delete_files_10k_ops.sh | 18 +++++ .../benchmark/lmbench/test_cases/fifo_lat.sh | 18 +++++ .../lmbench/test_cases/mem_copy_bw.sh | 18 +++++ .../lmbench/test_cases/mem_mmap_bw.sh | 18 +++++ .../lmbench/test_cases/mem_mmap_lat.sh | 18 +++++ .../lmbench/test_cases/mem_pagefault_lat.sh | 18 +++++ .../lmbench/test_cases/mem_read_bw.sh | 18 +++++ .../lmbench/test_cases/mem_write_bw.sh | 18 +++++ .../benchmark/lmbench/test_cases/pipe_bw.sh | 18 +++++ .../benchmark/lmbench/test_cases/pipe_lat.sh | 18 +++++ .../lmbench/test_cases/process_ctx_lat.sh | 18 +++++ .../lmbench/test_cases/process_exec_lat.sh | 18 +++++ .../lmbench/test_cases/process_fork_lat.sh | 18 +++++ .../lmbench/test_cases/process_getppid_lat.sh | 18 +++++ .../lmbench/test_cases/process_shell_lat.sh | 18 +++++ .../lmbench/test_cases/ramfs_copy_files_bw.sh | 18 +++++ .../ramfs_create_delete_files_0k_ops.sh | 18 +++++ .../ramfs_create_delete_files_10k_ops.sh | 18 +++++ .../lmbench/test_cases/semaphore_lat.sh | 18 +++++ .../lmbench/test_cases/signal_catch_lat.sh | 18 +++++ .../lmbench/test_cases/signal_install_lat.sh | 18 +++++ .../lmbench/test_cases/signal_prot_lat.sh | 18 +++++ .../lmbench/test_cases/tcp_loopback_bw_128.sh | 37 +++++++++ .../lmbench/test_cases/tcp_loopback_bw_4k.sh | 37 +++++++++ .../lmbench/test_cases/tcp_loopback_bw_64k.sh | 37 +++++++++ .../test_cases/tcp_loopback_connect_lat.sh | 37 +++++++++ .../test_cases/tcp_loopback_http_bw.sh | 37 +++++++++ .../lmbench/test_cases/tcp_loopback_lat.sh | 37 +++++++++ .../test_cases/tcp_loopback_select_lat.sh | 18 +++++ .../lmbench/test_cases/tcp_virtio_bw_128.sh | 19 +++++ .../lmbench/test_cases/tcp_virtio_bw_64k.sh | 19 +++++ .../test_cases/tcp_virtio_connect_lat.sh | 19 +++++ .../lmbench/test_cases/tcp_virtio_lat.sh | 19 +++++ .../lmbench/test_cases/udp_loopback_lat.sh | 37 +++++++++ .../lmbench/test_cases/udp_virtio_lat.sh | 19 +++++ .../benchmark/lmbench/test_cases/unix_bw.sh | 18 +++++ .../lmbench/test_cases/unix_connect_lat.sh | 34 ++++++++ .../benchmark/lmbench/test_cases/unix_lat.sh | 18 +++++ .../lmbench/test_cases/vfs_fcntl_lat.sh | 18 +++++ .../lmbench/test_cases/vfs_fstat_lat.sh | 18 +++++ .../lmbench/test_cases/vfs_open_lat.sh | 18 +++++ .../lmbench/test_cases/vfs_read_lat.sh | 18 +++++ .../test_cases/vfs_read_pagecache_bw.sh | 18 +++++ .../lmbench/test_cases/vfs_select_lat.sh | 18 +++++ .../lmbench/test_cases/vfs_stat_lat.sh | 18 +++++ .../lmbench/test_cases/vfs_write_lat.sh | 18 +++++ user/dadk/config/lmbench_bin_ubuntu2404.toml | 43 ++++++++++ 55 files changed, 1208 insertions(+) create mode 120000 test create mode 100644 user/apps/tests/README.md create mode 100644 user/apps/tests/benchmark/README.md create mode 100755 user/apps/tests/benchmark/lmbench/clean_up.sh create mode 100755 user/apps/tests/benchmark/lmbench/env.sh create mode 100755 user/apps/tests/benchmark/lmbench/init.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_0k_ops.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_10k_ops.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/process_getppid_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh create mode 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh create mode 100644 user/dadk/config/lmbench_bin_ubuntu2404.toml diff --git a/test b/test new file mode 120000 index 0000000000..0c272b6153 --- /dev/null +++ b/test @@ -0,0 +1 @@ +user/apps/tests \ No newline at end of file diff --git a/user/apps/tests/README.md b/user/apps/tests/README.md new file mode 100644 index 0000000000..59b7d25359 --- /dev/null +++ b/user/apps/tests/README.md @@ -0,0 +1,5 @@ +Test Tookit Overview +========================= + +## Brief Introduction +This Directory contains all using test toolkit and source for DragonOS, including **compatible test** and **performance benchmarks**. \ No newline at end of file diff --git a/user/apps/tests/benchmark/README.md b/user/apps/tests/benchmark/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/user/apps/tests/benchmark/lmbench/clean_up.sh b/user/apps/tests/benchmark/lmbench/clean_up.sh new file mode 100755 index 0000000000..9c5ecc034d --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/clean_up.sh @@ -0,0 +1,51 @@ +#! /bin/bash +# 测试环境清理脚本 +# 清理 lmbench 测试环境 +# Usage: ./clean_up.sh + +# 获取脚本所在目录 +SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) + + + +# 清理测试文件 +remove_test_files(){ + if [[ -f "/tmp/zero_file" ]]; then + rm -f /tmp/zero_file + fi + if [[ -f "/tmp/test_file" ]]; then + rm -f /tmp/test_file + fi +} + +# 清理 ext4 文件系统和镜像文件 +clean_ext4_fs(){ + # 清理挂载的 ext4 文件系统和镜像文件 + if [[ -d "/ext4" ]]; then + umount /ext4 + rm -rf /ext4 + fi + if [[ -f "${SCRIPT_DIR}/ext4.img" ]]; then + rm -f ${SCRIPT_DIR}/ext4.img + fi +} + +# main execution function +main(){ + # 自动请求 root 权限 + if [[ $EUID -ne 0 ]]; then + echo "需要root权限正在自动请求" + exec sudo bash "$0" "$@" + exit 1 + fi + + remove_test_files + clean_ext4_fs +} + + + +# 执行清理 +main "$@" + +echo "Lmbench 测试环境已清理完成" diff --git a/user/apps/tests/benchmark/lmbench/env.sh b/user/apps/tests/benchmark/lmbench/env.sh new file mode 100755 index 0000000000..8a71a2e0a1 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/env.sh @@ -0,0 +1,9 @@ +# lmbench 二进制文件路径前缀 +export LMBENCH_BIN_DIR="/lib/lmbench/bin/x86_64-linux-gnu" +# 挂载的 ext4 文件系统路径 +export LMBENCH_EXT4_DIR="/ext4" +# 临时文件存放路径 +export LMBENCH_TMP_DIR="/tmp" +# 测试文件名 +export LMBENCH_TEST_FILE="test_file" +export LMBENCH_ZERO_FILE="zero_file" diff --git a/user/apps/tests/benchmark/lmbench/init.sh b/user/apps/tests/benchmark/lmbench/init.sh new file mode 100755 index 0000000000..bac3d36e44 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/init.sh @@ -0,0 +1,79 @@ +#!/bin/bash +# lmbench 测试环境配置 +# 运行任何具体的测试脚本之前需要先运行此脚本初始化测试环境 +# Usage: bash init.sh + +# 获取脚本所在目录 +SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd) + + +# 创建并挂载 ext4 文件系统到 /ext4 目录(用于 ext4_xxx 测试) +create_ext4_fs(){ + if [[ ! -d "/ext4" ]]; then + mkdir -p /ext4 + if [[ -f "${SCRIPT_DIR}/ext4.img" ]]; then + rm -f ${SCRIPT_DIR}/ext4.img + fi + dd if=/dev/zero of=${SCRIPT_DIR}/ext4.img bs=1M count=1024 + mkfs.ext4 ${SCRIPT_DIR}/ext4.img + mount -o loop ${SCRIPT_DIR}/ext4.img /ext4 + fi +} + + +# 创建测试所需的文件 +create_test_file() { + local ext4_zero_file_path=${LMBENCH_EXT4_DIR}/zero_file + local ext4_test_file_path=${LMBENCH_EXT4_DIR}/test_file + local tmp_zero_file_path=/tmp/zero_file + local tmp_test_file_path=/tmp/test_file + + if [[ ! -f "${ext4_zero_file_path}" ]]; then + touch ${ext4_zero_file_path} + dd if=/dev/zero of=${ext4_zero_file_path} bs=1M count=512 + echo "创建零文件 ${ext4_zero_file_path} 完成" + fi + + if [[ ! -f "${ext4_test_file_path}" ]]; then + touch ${ext4_test_file_path} + dd if=/dev/zero of=${ext4_test_file_path} bs=1M count=512 + echo "创建测试文件 ${ext4_test_file_path} 完成" + fi + + if [[ ! -f "${tmp_zero_file_path}" ]]; then + touch ${tmp_zero_file_path} + dd if=/dev/zero of=${tmp_zero_file_path} bs=1M count=512 + echo "创建临时零文件 ${tmp_zero_file_path} 完成" + fi + + if [[ ! -f "${tmp_test_file_path}" ]]; then + touch ${tmp_test_file_path} + dd if=/dev/zero of=${tmp_test_file_path} bs=1M count=512 + echo "创建临时测试文件 ${tmp_test_file_path} 完成" + fi +} + +# main execution function +main(){ + # 自动请求 root 权限 + if [[ $EUID -ne 0 ]]; then + echo "需要root权限正在自动请求" + exec sudo bash "$0" "$@" + exit 1 + fi + # 加载环境变量配置 + source ${SCRIPT_DIR}/env.sh + # 创建 ext4 文件系统和测试文件 + create_ext4_fs + create_test_file +} + + +# ================== Start the initialization process ================= +main "$@" +if [[ $? -eq 0 ]]; then + echo "lmbench 测试环境初始化完成" +else + echo "lmbench 测试环境初始化失败" +fi + diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh new file mode 100755 index 0000000000..c9a96fb0d4 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Test: ext4_copy_files_bw +# Binary: lmdd +# Description: Copy files on ext4 filesystem bandwidth test + + +set -e + + + + +echo "=== Running ext4_copy_files_bw test ===" +sudo ${LMBENCH_BIN_DIR}/lmdd if=${LMBENCH_EXT4_DIR}/${LMBENCH_ZERO_FILE} of=${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_0k_ops.sh b/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_0k_ops.sh new file mode 100755 index 0000000000..32abe78d13 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_0k_ops.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: ext4_create_delete_files_0k_ops +# Binary: lat_fs +# Description: Create and delete 0k files on ext4 filesystem + +set -e + + + +echo "=== Running ext4_create_delete_files_0k_ops test ===" +${LMBENCH_BIN_DIR}/lat_fs -s 0k -P 1 ${LMBENCH_EXT4_DIR} + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_10k_ops.sh b/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_10k_ops.sh new file mode 100755 index 0000000000..15dd2d37af --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_10k_ops.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: ext4_create_delete_files_10k_ops +# Binary: lat_fs +# Description: Create and delete 10k files on ext4 filesystem + +set -e + + + +echo "=== Running ext4_create_delete_files_10k_ops test ===" +${LMBENCH_BIN_DIR}/lat_fs -s 10k -P 1 ${LMBENCH_EXT4_DIR} + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh new file mode 100755 index 0000000000..00e5d9f33c --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: fifo_lat +# Binary: lat_fifo +# Description: FIFO latency test + +set -e + + + +echo "=== Running fifo_lat test ===" +${LMBENCH_BIN_DIR}/lat_fifo -P 1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh new file mode 100755 index 0000000000..888712d56c --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: mem_copy_bw +# Binary: bw_mem +# Description: Memory copy bandwidth test + +set -e + + + +echo "=== Running mem_copy_bw test ===" +${LMBENCH_BIN_DIR}/bw_mem -P 1 -N 50 512m fcp + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh new file mode 100755 index 0000000000..d1b0182aa0 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: mem_mmap_bw +# Binary: bw_mmap_rd +# Description: Memory mmap bandwidth test + +set -e + + + +echo "=== Running mem_mmap_bw test ===" +${LMBENCH_BIN_DIR}/bw_mmap_rd -W 30 -N 300 256m mmap_only ${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh new file mode 100755 index 0000000000..2018da4c21 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: mem_mmap_lat +# Binary: lat_mmap +# Description: Memory mmap latency test + +set -e + + + +echo "=== Running mem_mmap_lat test ===" +${LMBENCH_BIN_DIR}/lat_mmap 4m ${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh new file mode 100755 index 0000000000..b603f4c423 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: mem_pagefault_lat +# Binary: lat_pagefault +# Description: Memory page fault latency test + +set -e + + + +echo "=== Running mem_pagefault_lat test ===" +${LMBENCH_BIN_DIR}/lat_pagefault -P 1 ${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh new file mode 100755 index 0000000000..d67f3cdbc9 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: mem_read_bw +# Binary: bw_mem +# Description: Memory read bandwidth test + +set -e + + + +echo "=== Running mem_read_bw test ===" +${LMBENCH_BIN_DIR}/bw_mem -P 1 -N 50 512m frd + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh new file mode 100755 index 0000000000..3d0b3177d2 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: mem_write_bw +# Binary: bw_mem +# Description: Memory write bandwidth test + +set -e + + + +echo "=== Running mem_write_bw test ===" +${LMBENCH_BIN_DIR}/bw_mem -P 1 -N 50 512m fwr + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh new file mode 100755 index 0000000000..de5a7ca205 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: pipe_bw +# Binary: bw_pipe +# Description: Pipe bandwidth test + +set -e + + + +echo "=== Running pipe_bw test ===" +${LMBENCH_BIN_DIR}/bw_pipe -P 1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh new file mode 100755 index 0000000000..b5d99b39b3 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: pipe_lat +# Binary: lat_pipe +# Description: Pipe latency test + +set -e + + + +echo "=== Running pipe_lat test ===" +${LMBENCH_BIN_DIR}/lat_pipe -P 1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh new file mode 100755 index 0000000000..814b6bca37 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: process_ctx_lat +# Binary: lat_ctx +# Description: Process context switch latency test + +set -e + + + +echo "=== Running process_ctx_lat test ===" +${LMBENCH_BIN_DIR}/lat_ctx -P 1 18 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh new file mode 100755 index 0000000000..dbc08d51a8 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: process_exec_lat +# Binary: lat_proc +# Description: Process exec latency test + +set -e + + + +echo "=== Running process_exec_lat test ===" +${LMBENCH_BIN_DIR}/lat_proc -P 1 exec + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh new file mode 100755 index 0000000000..f752a6946e --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: process_fork_lat +# Binary: lat_proc +# Description: Process fork latency test + +set -e + + + +echo "=== Running process_fork_lat test ===" +${LMBENCH_BIN_DIR}/lat_proc -P 1 fork + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_getppid_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_getppid_lat.sh new file mode 100755 index 0000000000..6d845094c7 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/process_getppid_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: process_getppid_lat +# Binary: lat_syscall +# Description: Process getppid syscall latency test + +set -e + + + +echo "=== Running process_getppid_lat test ===" +${LMBENCH_BIN_DIR}/lat_syscall -P 1 null + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh new file mode 100755 index 0000000000..3847f9d066 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: process_shell_lat +# Binary: lat_proc +# Description: Process shell latency test + +set -e + + + +echo "=== Running process_shell_lat test ===" +${LMBENCH_BIN_DIR}/lat_proc -P 1 shell + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh new file mode 100755 index 0000000000..0b8c227891 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: ramfs_copy_files_bw +# Binary: lmdd +# Description: Copy files on ramfs bandwidth test + +set -e + + + +echo "=== Running ramfs_copy_files_bw test ===" +${LMBENCH_BIN_DIR}/lmdd if=${LMBENCH_TMP_DIR}/${LMBENCH_ZERO_FILE} of=${LMBENCH_TMP_DIR}/${LMBENCH_TEST_FILE} + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh new file mode 100755 index 0000000000..ad262d49f1 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: ramfs_create_delete_files_0k_ops +# Binary: lat_fs +# Description: Create and delete 0k files on ramfs + +set -e + + + +echo "=== Running ramfs_create_delete_files_0k_ops test ===" +${LMBENCH_BIN_DIR}/lat_fs -s 0k -P 1 -W 30 -N 200 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh new file mode 100755 index 0000000000..d45f7320a0 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: ramfs_create_delete_files_10k_ops +# Binary: lat_fs +# Description: Create and delete 10k files on ramfs + +set -e + + + +echo "=== Running ramfs_create_delete_files_10k_ops test ===" +${LMBENCH_BIN_DIR}/lat_fs -s 10k -P 1 -W 30 -N 300 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh new file mode 100755 index 0000000000..42e7a4f999 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: semaphore_lat +# Binary: lat_sem +# Description: Semaphore latency test + +set -e + + + +echo "=== Running semaphore_lat test ===" +${LMBENCH_BIN_DIR}/lat_sem -P 1 -N 21 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh new file mode 100755 index 0000000000..d9b0008fd7 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: signal_catch_lat +# Binary: lat_sig +# Description: Signal catch latency test + +set -e + + + +echo "=== Running signal_catch_lat test ===" +${LMBENCH_BIN_DIR}/lat_sig -P 1 catch + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh new file mode 100755 index 0000000000..3e77829968 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: signal_install_lat +# Binary: lat_sig +# Description: Signal install latency test + +set -e + + + +echo "=== Running signal_install_lat test ===" +${LMBENCH_BIN_DIR}/lat_sig -P 1 install + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh new file mode 100755 index 0000000000..ad1c8a6f5b --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: signal_prot_lat +# Binary: lat_sig +# Description: Signal protection latency test + +set -e + + + +echo "=== Running signal_prot_lat test ===" +${LMBENCH_BIN_DIR}/lat_sig -W 30 -N 300 prot ${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh new file mode 100755 index 0000000000..372a8d930f --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Test: tcp_loopback_bw_128 +# Binary: bw_tcp +# Description: TCP loopback bandwidth test with 128 byte messages + +set -e + + + +SERVER_PID="" + +cleanup() { + if [ ! -z "$SERVER_PID" ]; then + kill $SERVER_PID 2>/dev/null || true + wait $SERVER_PID 2>/dev/null || true + fi +} + +trap cleanup EXIT INT TERM + +echo "=== Starting TCP server ===" +${LMBENCH_BIN_DIR}/bw_tcp -s 127.0.0.1 -b 1 & +SERVER_PID=$! +sleep 2 + +echo "=== Running TCP bandwidth test (128 bytes) ===" +${LMBENCH_BIN_DIR}/bw_tcp -m 128 -P 1 127.0.0.1 + +echo "=== Shutting down server ===" +${LMBENCH_BIN_DIR}/bw_tcp -S 127.0.0.1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh new file mode 100755 index 0000000000..894ac6c6a3 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Test: tcp_loopback_bw_4k +# Binary: bw_tcp +# Description: TCP loopback bandwidth test with 4k messages + +set -e + + + +SERVER_PID="" + +cleanup() { + if [ ! -z "$SERVER_PID" ]; then + kill $SERVER_PID 2>/dev/null || true + wait $SERVER_PID 2>/dev/null || true + fi +} + +trap cleanup EXIT INT TERM + +echo "=== Starting TCP server ===" +${LMBENCH_BIN_DIR}/bw_tcp -s 127.0.0.1 -b 1 & +SERVER_PID=$! +sleep 2 + +echo "=== Running TCP bandwidth test (4k) ===" +${LMBENCH_BIN_DIR}/bw_tcp -m 4096 -P 1 127.0.0.1 + +echo "=== Shutting down server ===" +${LMBENCH_BIN_DIR}/bw_tcp -S 127.0.0.1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh new file mode 100755 index 0000000000..9b11bbfc71 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Test: tcp_loopback_bw_64k +# Binary: bw_tcp +# Description: TCP loopback bandwidth test with 64k messages + +set -e + + + +SERVER_PID="" + +cleanup() { + if [ ! -z "$SERVER_PID" ]; then + kill $SERVER_PID 2>/dev/null || true + wait $SERVER_PID 2>/dev/null || true + fi +} + +trap cleanup EXIT INT TERM + +echo "=== Starting TCP server ===" +${LMBENCH_BIN_DIR}/bw_tcp -s 127.0.0.1 -b 1 & +SERVER_PID=$! +sleep 2 + +echo "=== Running TCP bandwidth test (64k) ===" +${LMBENCH_BIN_DIR}/bw_tcp -m 65536 -P 1 127.0.0.1 + +echo "=== Shutting down server ===" +${LMBENCH_BIN_DIR}/bw_tcp -S 127.0.0.1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh new file mode 100755 index 0000000000..e75de8e0c1 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Test: tcp_loopback_connect_lat +# Binary: lat_connect +# Description: TCP loopback connection latency test + +set -e + + + +SERVER_PID="" + +cleanup() { + if [ ! -z "$SERVER_PID" ]; then + kill $SERVER_PID 2>/dev/null || true + wait $SERVER_PID 2>/dev/null || true + fi +} + +trap cleanup EXIT INT TERM + +echo "=== Starting TCP server ===" +${LMBENCH_BIN_DIR}/lat_connect -s 127.0.0.1 & +SERVER_PID=$! +sleep 2 + +echo "=== Running TCP connection latency test ===" +${LMBENCH_BIN_DIR}/lat_connect 127.0.0.1 + +echo "=== Shutting down server ===" +${LMBENCH_BIN_DIR}/lat_connect -S 127.0.0.1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh new file mode 100755 index 0000000000..f5b81460e9 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Test: tcp_loopback_http_bw +# Binary: lmhttp, lat_http +# Description: TCP loopback HTTP bandwidth test + +set -e + + + +SERVER_PID="" + +cleanup() { + if [ ! -z "$SERVER_PID" ]; then + kill $SERVER_PID 2>/dev/null || true + wait $SERVER_PID 2>/dev/null || true + fi +} + +trap cleanup EXIT INT TERM + +echo "=== Starting HTTP server ===" +${LMBENCH_BIN_DIR}/lmhttp & +SERVER_PID=$! +sleep 2 + +echo "=== Running HTTP bandwidth test ===" +${LMBENCH_BIN_DIR}/lat_http 127.0.0.1 < file_list + +echo "=== Shutting down server ===" +${LMBENCH_BIN_DIR}/lat_http -S 127.0.0.1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh new file mode 100755 index 0000000000..a5ef2c188c --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Test: tcp_loopback_lat +# Binary: lat_tcp +# Description: TCP loopback latency test + +set -e + + + +SERVER_PID="" + +cleanup() { + if [ ! -z "$SERVER_PID" ]; then + kill $SERVER_PID 2>/dev/null || true + wait $SERVER_PID 2>/dev/null || true + fi +} + +trap cleanup EXIT INT TERM + +echo "=== Starting TCP server ===" +${LMBENCH_BIN_DIR}/lat_tcp -s 127.0.0.1 -b 1 & +SERVER_PID=$! +sleep 2 + +echo "=== Running TCP latency test ===" +${LMBENCH_BIN_DIR}/lat_tcp -P 1 127.0.0.1 + +echo "=== Shutting down server ===" +${LMBENCH_BIN_DIR}/lat_tcp -S 127.0.0.1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh new file mode 100755 index 0000000000..a1084be71e --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: tcp_loopback_select_lat +# Binary: lat_select +# Description: TCP loopback select latency test + +set -e + + + +echo "=== Running TCP select latency test ===" +${LMBENCH_BIN_DIR}/lat_select -P 1 tcp + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh new file mode 100755 index 0000000000..869db27e3c --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Test: tcp_virtio_bw_128 +# Binary: bw_tcp +# Description: TCP virtio bandwidth test with 128 byte messages + +set -e + + + +echo "=== Running TCP virtio bandwidth test (128 bytes) ===" +echo "Note: This test requires a server running at 10.0.2.15" +${LMBENCH_BIN_DIR}/bw_tcp -s 10.0.2.15 -b 1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh new file mode 100755 index 0000000000..af09405863 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Test: tcp_virtio_bw_64k +# Binary: bw_tcp +# Description: TCP virtio bandwidth test with 64k messages + +set -e + + + +echo "=== Running TCP virtio bandwidth test (64k) ===" +echo "Note: This test requires a server running at 10.0.2.15" +${LMBENCH_BIN_DIR}/bw_tcp -s 10.0.2.15 -b 1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh new file mode 100755 index 0000000000..34fc65c3a5 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Test: tcp_virtio_connect_lat +# Binary: lat_connect +# Description: TCP virtio connection latency test + +set -e + + + +echo "=== Running TCP virtio connection latency test ===" +echo "Note: This test requires a server running at 10.0.2.15" +${LMBENCH_BIN_DIR}/lat_connect -s 10.0.2.15 -b 1000 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh new file mode 100755 index 0000000000..1ed519c3b8 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Test: tcp_virtio_lat +# Binary: lat_tcp +# Description: TCP virtio latency test + +set -e + + + +echo "=== Running TCP virtio latency test ===" +echo "Note: This test requires a server running at 10.0.2.15" +${LMBENCH_BIN_DIR}/lat_tcp -s 10.0.2.15 -b 1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh new file mode 100755 index 0000000000..9e242d2ccd --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Test: udp_loopback_lat +# Binary: lat_udp +# Description: UDP loopback latency test + +set -e + + + +SERVER_PID="" + +cleanup() { + if [ ! -z "$SERVER_PID" ]; then + kill $SERVER_PID 2>/dev/null || true + wait $SERVER_PID 2>/dev/null || true + fi +} + +trap cleanup EXIT INT TERM + +echo "=== Starting UDP server ===" +${LMBENCH_BIN_DIR}/lat_udp -s 127.0.0.1 & +SERVER_PID=$! +sleep 2 + +echo "=== Running UDP latency test ===" +${LMBENCH_BIN_DIR}/lat_udp -P 1 127.0.0.1 + +echo "=== Shutting down server ===" +${LMBENCH_BIN_DIR}/lat_udp -S 127.0.0.1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh new file mode 100755 index 0000000000..97e860d251 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Test: udp_virtio_lat +# Binary: lat_udp +# Description: UDP virtio latency test + +set -e + + + +echo "=== Running UDP virtio latency test ===" +echo "Note: This test requires a server running at 10.0.2.15" +${LMBENCH_BIN_DIR}/lat_udp -s 10.0.2.15 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh new file mode 100755 index 0000000000..d0f425c2e4 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: unix_bw +# Binary: bw_unix +# Description: Unix domain socket bandwidth test + +set -e + + + +echo "=== Running Unix domain socket bandwidth test ===" +${LMBENCH_BIN_DIR}/bw_unix -P 1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh new file mode 100755 index 0000000000..fbc2908005 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# Test: unix_connect_lat +# Binary: lat_unix_connect +# Description: Unix domain socket connection latency test + +set -e + + + +SERVER_PID="" + +cleanup() { + if [ ! -z "$SERVER_PID" ]; then + kill $SERVER_PID 2>/dev/null || true + wait $SERVER_PID 2>/dev/null || true + fi +} + +trap cleanup EXIT INT TERM + +echo "=== Starting Unix socket server ===" +${LMBENCH_BIN_DIR}/lat_unix_connect -s & +SERVER_PID=$! +sleep 2 + +echo "=== Running Unix socket connection latency test ===" +${LMBENCH_BIN_DIR}/lat_unix_connect -P 1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh new file mode 100755 index 0000000000..d646bb1bab --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: unix_lat +# Binary: lat_unix +# Description: Unix domain socket latency test + +set -e + + + +echo "=== Running Unix domain socket latency test ===" +${LMBENCH_BIN_DIR}/lat_unix -P 1 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh new file mode 100755 index 0000000000..391809ee9c --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: vfs_fcntl_lat +# Binary: lat_fcntl +# Description: VFS fcntl latency test + +set -e + + + +echo "=== Running VFS fcntl latency test ===" +${LMBENCH_BIN_DIR}/lat_fcntl -P 1 -W 30 -N 200 + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh new file mode 100755 index 0000000000..1e4f1bddae --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: vfs_fstat_lat +# Binary: lat_syscall +# Description: VFS fstat syscall latency test + +set -e + + + +echo "=== Running VFS fstat latency test ===" +${LMBENCH_BIN_DIR}/lat_syscall -P 1 fstat test_file + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh new file mode 100755 index 0000000000..73afcd3c68 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: vfs_open_lat +# Binary: lat_syscall +# Description: VFS open syscall latency test + +set -e + + + +echo "=== Running VFS open latency test ===" +${LMBENCH_BIN_DIR}/lat_syscall -P 1 -W 1000 -N 1000 open testfile + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh new file mode 100755 index 0000000000..506fe8d161 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: vfs_read_lat +# Binary: lat_syscall +# Description: VFS read syscall latency test + +set -e + + + +echo "=== Running VFS read latency test ===" +${LMBENCH_BIN_DIR}/lat_syscall -P 1 read + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh new file mode 100755 index 0000000000..7b87a61ce5 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: vfs_read_pagecache_bw +# Binary: bw_file_rd +# Description: VFS read page cache bandwidth test + +set -e + + + +echo "=== Running VFS read page cache bandwidth test ===" +${LMBENCH_BIN_DIR}/bw_file_rd -P 1 -W 30 -N 300 512m io_only ${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh new file mode 100755 index 0000000000..7153ae7d08 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: vfs_select_lat +# Binary: lat_select +# Description: VFS select latency test + +set -e + + + +echo "=== Running VFS select latency test ===" +${LMBENCH_BIN_DIR}/lat_select -P 1 file + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh new file mode 100755 index 0000000000..fc4bcb466b --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: vfs_stat_lat +# Binary: lat_syscall +# Description: VFS stat syscall latency test + +set -e + + + +echo "=== Running VFS stat latency test ===" +${LMBENCH_BIN_DIR}/lat_syscall -P 1 -W 1000 -N 1000 stat testfile + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh new file mode 100755 index 0000000000..a64dd5710a --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Test: vfs_write_lat +# Binary: lat_syscall +# Description: VFS write syscall latency test + +set -e + + + +echo "=== Running VFS write latency test ===" +${LMBENCH_BIN_DIR}/lat_syscall -P 1 write + +if [ $? -eq 0 ]; then + echo "Test completed successfully" +else + echo "Test failed" + exit 1 +fi diff --git a/user/dadk/config/lmbench_bin_ubuntu2404.toml b/user/dadk/config/lmbench_bin_ubuntu2404.toml new file mode 100644 index 0000000000..024084f7db --- /dev/null +++ b/user/dadk/config/lmbench_bin_ubuntu2404.toml @@ -0,0 +1,43 @@ +# 用户程序名称 +name = "lmbench_bin_ubuntu2404" +# 版本号 +version = "3.0" +# 用户程序描述信息 +description = "LMbench - Tools for Performance Analysis from Ubuntu 24.04" +# (可选)默认: false 是否只构建一次,如果为true,DADK会在构建成功后,将构建结果缓存起来,下次构建时,直接使用缓存的构建结果 +build-once = false +# (可选) 默认: false 是否只安装一次,如果为true,DADK会在安装成功后,不再重复安装 +install-once = false +# 目标架构 +# 可选值:"x86_64", "aarch64", "riscv64", "loongarch64" +target-arch = ["x86_64"] +# 任务源 +[task-source] +# 构建类型 +# 可选值:"build-from-source", "install-from-prebuilt" +type = "install-from-prebuilt" +# 构建来源 +# "build_from_source" 可选值:"git", "local", "archive" +# "install_from_prebuilt" 可选值:"local", "archive" +source = "archive" +# 本地目录路径 - 指向已解压的 sysroot 目录 +source-path = "https://mirrors.dragonos.org.cn/pub/third_party/lmbench/lmbench-ubuntu2404-202511301014-36c2fb2d084343e098b5e343576d4fc0.tar.xz" +archive-rootdir = "sysroot/" + +[build] + +# 安装相关信息 +[install] +# (可选)安装到DragonOS的路径 +in-dragonos-path = "/" +# 清除相关信息 +[clean] +# (可选)清除命令 +clean-command = "" +# 依赖项 +[[depends]] +name = "glibc_bin_ubuntu2404" +version = "2.39" + +# (可选)环境变量 +# 注意:如果没有环境变量,忽略此项,不允许只留一个[[envs]] From c976bda5f789b444896440930bd3b65548944b52 Mon Sep 17 00:00:00 2001 From: yuming Date: Thu, 18 Dec 2025 22:38:10 +0800 Subject: [PATCH 2/6] =?UTF-8?q?feat(lmbench/test=5Fcases):=20=E6=AF=8F?= =?UTF-8?q?=E4=B8=AA=E6=B5=8B=E4=BE=8B=E8=BF=90=E8=A1=8C=E5=89=8D=E9=83=BD?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E4=B8=80=E9=81=8D=E7=8E=AF=E5=A2=83=E5=8F=98?= =?UTF-8?q?=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh | 5 ++++- .../lmbench/test_cases/ext4_create_delete_files_0k_ops.sh | 5 ++++- .../lmbench/test_cases/ext4_create_delete_files_10k_ops.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/process_ctx_lat.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/process_exec_lat.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/process_fork_lat.sh | 5 ++++- .../benchmark/lmbench/test_cases/process_getppid_lat.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/process_shell_lat.sh | 5 ++++- .../benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh | 5 ++++- .../lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh | 5 ++++- .../lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh | 5 ++++- .../apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/signal_catch_lat.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/signal_install_lat.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/signal_prot_lat.sh | 5 ++++- .../benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh | 5 ++++- .../benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh | 5 ++++- .../benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh | 5 ++++- .../benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh | 5 ++++- .../benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh | 5 ++++- .../benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/unix_connect_lat.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh | 5 ++++- .../apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh | 5 ++++- .../apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh | 5 ++++- .../benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh | 5 ++++- .../tests/benchmark/lmbench/test_cases/vfs_select_lat.sh | 5 ++++- user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh | 5 ++++- .../apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh | 5 ++++- 48 files changed, 192 insertions(+), 48 deletions(-) mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_0k_ops.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_10k_ops.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/process_getppid_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh mode change 100755 => 100644 user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh old mode 100755 new mode 100644 index c9a96fb0d4..aea5330a83 --- a/user/apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh @@ -6,7 +6,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running ext4_copy_files_bw test ===" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_0k_ops.sh b/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_0k_ops.sh old mode 100755 new mode 100644 index 32abe78d13..d55c0af0a6 --- a/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_0k_ops.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_0k_ops.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running ext4_create_delete_files_0k_ops test ===" ${LMBENCH_BIN_DIR}/lat_fs -s 0k -P 1 ${LMBENCH_EXT4_DIR} diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_10k_ops.sh b/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_10k_ops.sh old mode 100755 new mode 100644 index 15dd2d37af..a33c7e3dab --- a/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_10k_ops.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_10k_ops.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running ext4_create_delete_files_10k_ops test ===" ${LMBENCH_BIN_DIR}/lat_fs -s 10k -P 1 ${LMBENCH_EXT4_DIR} diff --git a/user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh old mode 100755 new mode 100644 index 00e5d9f33c..6ba399070e --- a/user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running fifo_lat test ===" ${LMBENCH_BIN_DIR}/lat_fifo -P 1 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh old mode 100755 new mode 100644 index 888712d56c..84e6ea822b --- a/user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running mem_copy_bw test ===" ${LMBENCH_BIN_DIR}/bw_mem -P 1 -N 50 512m fcp diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh old mode 100755 new mode 100644 index d1b0182aa0..771e0d44d9 --- a/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running mem_mmap_bw test ===" ${LMBENCH_BIN_DIR}/bw_mmap_rd -W 30 -N 300 256m mmap_only ${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh old mode 100755 new mode 100644 index 2018da4c21..a259730f18 --- a/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running mem_mmap_lat test ===" ${LMBENCH_BIN_DIR}/lat_mmap 4m ${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh old mode 100755 new mode 100644 index b603f4c423..1b74eea299 --- a/user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running mem_pagefault_lat test ===" ${LMBENCH_BIN_DIR}/lat_pagefault -P 1 ${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh old mode 100755 new mode 100644 index d67f3cdbc9..fe2379ea9d --- a/user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running mem_read_bw test ===" ${LMBENCH_BIN_DIR}/bw_mem -P 1 -N 50 512m frd diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh old mode 100755 new mode 100644 index 3d0b3177d2..f555c1996f --- a/user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running mem_write_bw test ===" ${LMBENCH_BIN_DIR}/bw_mem -P 1 -N 50 512m fwr diff --git a/user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh old mode 100755 new mode 100644 index de5a7ca205..02fd8e9e50 --- a/user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running pipe_bw test ===" ${LMBENCH_BIN_DIR}/bw_pipe -P 1 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh old mode 100755 new mode 100644 index b5d99b39b3..52200feddd --- a/user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running pipe_lat test ===" ${LMBENCH_BIN_DIR}/lat_pipe -P 1 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh old mode 100755 new mode 100644 index 814b6bca37..604257ee7c --- a/user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running process_ctx_lat test ===" ${LMBENCH_BIN_DIR}/lat_ctx -P 1 18 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh old mode 100755 new mode 100644 index dbc08d51a8..860947233b --- a/user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running process_exec_lat test ===" ${LMBENCH_BIN_DIR}/lat_proc -P 1 exec diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh old mode 100755 new mode 100644 index f752a6946e..9bf6a97fe6 --- a/user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running process_fork_lat test ===" ${LMBENCH_BIN_DIR}/lat_proc -P 1 fork diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_getppid_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_getppid_lat.sh old mode 100755 new mode 100644 index 6d845094c7..3dec0ef34c --- a/user/apps/tests/benchmark/lmbench/test_cases/process_getppid_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/process_getppid_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running process_getppid_lat test ===" ${LMBENCH_BIN_DIR}/lat_syscall -P 1 null diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh old mode 100755 new mode 100644 index 3847f9d066..4e74bd9dd1 --- a/user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running process_shell_lat test ===" ${LMBENCH_BIN_DIR}/lat_proc -P 1 shell diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh old mode 100755 new mode 100644 index 0b8c227891..c5141785ac --- a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running ramfs_copy_files_bw test ===" ${LMBENCH_BIN_DIR}/lmdd if=${LMBENCH_TMP_DIR}/${LMBENCH_ZERO_FILE} of=${LMBENCH_TMP_DIR}/${LMBENCH_TEST_FILE} diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh old mode 100755 new mode 100644 index ad262d49f1..fe19e7dde9 --- a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running ramfs_create_delete_files_0k_ops test ===" ${LMBENCH_BIN_DIR}/lat_fs -s 0k -P 1 -W 30 -N 200 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh old mode 100755 new mode 100644 index d45f7320a0..f62b667e82 --- a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running ramfs_create_delete_files_10k_ops test ===" ${LMBENCH_BIN_DIR}/lat_fs -s 10k -P 1 -W 30 -N 300 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh old mode 100755 new mode 100644 index 42e7a4f999..b91b4291d2 --- a/user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running semaphore_lat test ===" ${LMBENCH_BIN_DIR}/lat_sem -P 1 -N 21 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh old mode 100755 new mode 100644 index d9b0008fd7..20905c2b8a --- a/user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running signal_catch_lat test ===" ${LMBENCH_BIN_DIR}/lat_sig -P 1 catch diff --git a/user/apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh old mode 100755 new mode 100644 index 3e77829968..47f6468cae --- a/user/apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running signal_install_lat test ===" ${LMBENCH_BIN_DIR}/lat_sig -P 1 install diff --git a/user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh old mode 100755 new mode 100644 index ad1c8a6f5b..7bd3c3fcd1 --- a/user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running signal_prot_lat test ===" ${LMBENCH_BIN_DIR}/lat_sig -W 30 -N 300 prot ${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh old mode 100755 new mode 100644 index 372a8d930f..253095ad19 --- a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} SERVER_PID="" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh old mode 100755 new mode 100644 index 894ac6c6a3..d1ee865af7 --- a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} SERVER_PID="" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh old mode 100755 new mode 100644 index 9b11bbfc71..a3f167c1d7 --- a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} SERVER_PID="" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh old mode 100755 new mode 100644 index e75de8e0c1..f632eea7ce --- a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} SERVER_PID="" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh old mode 100755 new mode 100644 index f5b81460e9..6c5e5cb547 --- a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} SERVER_PID="" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh old mode 100755 new mode 100644 index a5ef2c188c..50552cf85a --- a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} SERVER_PID="" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh old mode 100755 new mode 100644 index a1084be71e..b38860a356 --- a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running TCP select latency test ===" ${LMBENCH_BIN_DIR}/lat_select -P 1 tcp diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh old mode 100755 new mode 100644 index 869db27e3c..59913facd9 --- a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running TCP virtio bandwidth test (128 bytes) ===" echo "Note: This test requires a server running at 10.0.2.15" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh old mode 100755 new mode 100644 index af09405863..45da49c6eb --- a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running TCP virtio bandwidth test (64k) ===" echo "Note: This test requires a server running at 10.0.2.15" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh old mode 100755 new mode 100644 index 34fc65c3a5..471fff3da9 --- a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running TCP virtio connection latency test ===" echo "Note: This test requires a server running at 10.0.2.15" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh old mode 100755 new mode 100644 index 1ed519c3b8..d33c2c7b53 --- a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running TCP virtio latency test ===" echo "Note: This test requires a server running at 10.0.2.15" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh old mode 100755 new mode 100644 index 9e242d2ccd..b803b1b7ca --- a/user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} SERVER_PID="" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh old mode 100755 new mode 100644 index 97e860d251..a5f3e48a07 --- a/user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running UDP virtio latency test ===" echo "Note: This test requires a server running at 10.0.2.15" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh old mode 100755 new mode 100644 index d0f425c2e4..1f25b55305 --- a/user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running Unix domain socket bandwidth test ===" ${LMBENCH_BIN_DIR}/bw_unix -P 1 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh old mode 100755 new mode 100644 index fbc2908005..e4cb5b320f --- a/user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} SERVER_PID="" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh old mode 100755 new mode 100644 index d646bb1bab..383477ddc1 --- a/user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running Unix domain socket latency test ===" ${LMBENCH_BIN_DIR}/lat_unix -P 1 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh old mode 100755 new mode 100644 index 391809ee9c..de22cd1327 --- a/user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running VFS fcntl latency test ===" ${LMBENCH_BIN_DIR}/lat_fcntl -P 1 -W 30 -N 200 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh old mode 100755 new mode 100644 index 1e4f1bddae..18169d7c14 --- a/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running VFS fstat latency test ===" ${LMBENCH_BIN_DIR}/lat_syscall -P 1 fstat test_file diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh old mode 100755 new mode 100644 index 73afcd3c68..d1a536d1db --- a/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running VFS open latency test ===" ${LMBENCH_BIN_DIR}/lat_syscall -P 1 -W 1000 -N 1000 open testfile diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh old mode 100755 new mode 100644 index 506fe8d161..a13789d616 --- a/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running VFS read latency test ===" ${LMBENCH_BIN_DIR}/lat_syscall -P 1 read diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh old mode 100755 new mode 100644 index 7b87a61ce5..65aef76581 --- a/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running VFS read page cache bandwidth test ===" ${LMBENCH_BIN_DIR}/bw_file_rd -P 1 -W 30 -N 300 512m io_only ${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh old mode 100755 new mode 100644 index 7153ae7d08..a025811f2a --- a/user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running VFS select latency test ===" ${LMBENCH_BIN_DIR}/lat_select -P 1 file diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh old mode 100755 new mode 100644 index fc4bcb466b..cb11f2913d --- a/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running VFS stat latency test ===" ${LMBENCH_BIN_DIR}/lat_syscall -P 1 -W 1000 -N 1000 stat testfile diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh old mode 100755 new mode 100644 index a64dd5710a..b7da3dc657 --- a/user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh @@ -5,7 +5,10 @@ set -e - +# 加载环境变量 +SCTIPDIR=$(cd $(dirname ${BASH_SOURCE[0]}) > /dev/null && pwd) +ENV_PATH="${SCTIPDIR}/../env.sh" +source ${ENV_PATH} echo "=== Running VFS write latency test ===" ${LMBENCH_BIN_DIR}/lat_syscall -P 1 write From 6308b8838f484c9d44ade243ee7b182a58ec6888 Mon Sep 17 00:00:00 2001 From: yuming Date: Thu, 18 Dec 2025 23:52:04 +0800 Subject: [PATCH 3/6] =?UTF-8?q?feat(lmbench/test=5Fcases):=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=A4=9A=E4=B8=AA=E6=B5=8B=E8=AF=95=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E7=9A=84=E6=9D=83=E9=99=90=E4=B8=BA=E5=8F=AF=E6=89=A7=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh | 0 .../lmbench/test_cases/ext4_create_delete_files_0k_ops.sh | 0 .../lmbench/test_cases/ext4_create_delete_files_10k_ops.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh | 0 .../tests/benchmark/lmbench/test_cases/process_getppid_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh | 0 .../tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh | 0 .../lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh | 0 .../lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh | 0 .../apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh | 0 .../tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh | 0 .../apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh | 0 .../tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh | 0 .../benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh | 0 .../tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh | 0 .../tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh | 0 .../tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh | 0 .../tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh | 0 user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh | 0 48 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_0k_ops.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_10k_ops.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/process_getppid_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh mode change 100644 => 100755 user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/ext4_copy_files_bw.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_0k_ops.sh b/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_0k_ops.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_10k_ops.sh b/user/apps/tests/benchmark/lmbench/test_cases/ext4_create_delete_files_10k_ops.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/fifo_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_copy_bw.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_bw.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_pagefault_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_read_bw.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_write_bw.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/pipe_bw.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/pipe_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_ctx_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_exec_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_fork_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_getppid_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_getppid_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/process_shell_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_0k_ops.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_create_delete_files_10k_ops.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/semaphore_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/signal_catch_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/signal_install_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/signal_prot_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_128.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_4k.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_bw_64k.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_connect_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_http_bw.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_loopback_select_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_128.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_bw_64k.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_connect_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/tcp_virtio_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/udp_loopback_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/udp_virtio_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/unix_bw.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/unix_connect_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/unix_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_fcntl_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_read_pagecache_bw.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_select_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh old mode 100644 new mode 100755 diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_write_lat.sh old mode 100644 new mode 100755 From c6fb1c3776e4d63db513bcea153d01c5e08624db Mon Sep 17 00:00:00 2001 From: yuming Date: Thu, 18 Dec 2025 23:54:58 +0800 Subject: [PATCH 4/6] =?UTF-8?q?feat(lmbench):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=B8=80=E9=94=AE=E8=BF=90=E8=A1=8C=E6=8C=87=E5=AE=9A=E6=B5=8B?= =?UTF-8?q?=E4=BE=8B=E7=9A=84=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- user/apps/tests/benchmark/lmbench/run_test_case.sh | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100755 user/apps/tests/benchmark/lmbench/run_test_case.sh diff --git a/user/apps/tests/benchmark/lmbench/run_test_case.sh b/user/apps/tests/benchmark/lmbench/run_test_case.sh new file mode 100755 index 0000000000..55fd4e0100 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/run_test_case.sh @@ -0,0 +1,9 @@ +#! /bin/bash + +main(){ + bash ./init.sh + bash "$1" + bash ./clean_up.sh +} + +main "$@" From 8bb68ef914304fe59f6a532b46388952cedea495 Mon Sep 17 00:00:00 2001 From: yuming Date: Thu, 18 Dec 2025 23:55:24 +0800 Subject: [PATCH 5/6] =?UTF-8?q?fix(lmbench):=20=E4=BF=AE=E5=A4=8D=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B=E7=9A=84=E6=9D=83?= =?UTF-8?q?=E9=99=90=E5=92=8C=E6=96=87=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复 `lmbench/mem_map_lat` 测例的权限问题,确保测试能够正确执行。 - 在 `ramfs_copy_files_bw` 测试中添加 `sudo`,以确保有足够的权限进行文件操作。 - 修复 `vfs_xx_lat` 系列测试缺少临时文件的问题,确保测试环境完整。 --- user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh | 2 +- .../tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh | 2 +- user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh | 2 ++ user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh | 2 ++ user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh | 2 ++ 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh index a259730f18..c5df660ed9 100755 --- a/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/mem_mmap_lat.sh @@ -11,7 +11,7 @@ ENV_PATH="${SCTIPDIR}/../env.sh" source ${ENV_PATH} echo "=== Running mem_mmap_lat test ===" -${LMBENCH_BIN_DIR}/lat_mmap 4m ${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} +sudo ${LMBENCH_BIN_DIR}/lat_mmap 4m ${LMBENCH_EXT4_DIR}/${LMBENCH_TEST_FILE} if [ $? -eq 0 ]; then echo "Test completed successfully" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh index c5141785ac..9891138ea7 100755 --- a/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/ramfs_copy_files_bw.sh @@ -11,7 +11,7 @@ ENV_PATH="${SCTIPDIR}/../env.sh" source ${ENV_PATH} echo "=== Running ramfs_copy_files_bw test ===" -${LMBENCH_BIN_DIR}/lmdd if=${LMBENCH_TMP_DIR}/${LMBENCH_ZERO_FILE} of=${LMBENCH_TMP_DIR}/${LMBENCH_TEST_FILE} +sudo ${LMBENCH_BIN_DIR}/lmdd if=${LMBENCH_TMP_DIR}/${LMBENCH_ZERO_FILE} of=${LMBENCH_TMP_DIR}/${LMBENCH_TEST_FILE} if [ $? -eq 0 ]; then echo "Test completed successfully" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh index 18169d7c14..70cbf519ba 100755 --- a/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_fstat_lat.sh @@ -11,7 +11,9 @@ ENV_PATH="${SCTIPDIR}/../env.sh" source ${ENV_PATH} echo "=== Running VFS fstat latency test ===" +touch test_file ${LMBENCH_BIN_DIR}/lat_syscall -P 1 fstat test_file +rm test_file if [ $? -eq 0 ]; then echo "Test completed successfully" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh index d1a536d1db..4ab5efe312 100755 --- a/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_open_lat.sh @@ -11,7 +11,9 @@ ENV_PATH="${SCTIPDIR}/../env.sh" source ${ENV_PATH} echo "=== Running VFS open latency test ===" +touch testfile ${LMBENCH_BIN_DIR}/lat_syscall -P 1 -W 1000 -N 1000 open testfile +rm testfile if [ $? -eq 0 ]; then echo "Test completed successfully" diff --git a/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh b/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh index cb11f2913d..c84cada883 100755 --- a/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh +++ b/user/apps/tests/benchmark/lmbench/test_cases/vfs_stat_lat.sh @@ -11,7 +11,9 @@ ENV_PATH="${SCTIPDIR}/../env.sh" source ${ENV_PATH} echo "=== Running VFS stat latency test ===" +touch testfile ${LMBENCH_BIN_DIR}/lat_syscall -P 1 -W 1000 -N 1000 stat testfile +rm testfile if [ $? -eq 0 ]; then echo "Test completed successfully" From a05fcb8819a75860ede34bafc246ee16f7de5ef7 Mon Sep 17 00:00:00 2001 From: Samuka007 Date: Thu, 8 Jan 2026 23:42:54 +0800 Subject: [PATCH 6/6] feat: add nix build script for lmbench, seperate syscall test script and bin --- user/apps/default.nix | 77 ++++++++++++------- user/apps/tests/benchmark/lmbench/.gitignore | 1 + user/apps/tests/benchmark/lmbench/default.nix | 75 ++++++++++++++++++ user/apps/tests/benchmark/lmbench/flake.lock | 27 +++++++ user/apps/tests/benchmark/lmbench/flake.nix | 44 +++++++++++ user/apps/tests/syscall/gvisor/default.nix | 50 +++++++----- 6 files changed, 227 insertions(+), 47 deletions(-) create mode 100644 user/apps/tests/benchmark/lmbench/.gitignore create mode 100644 user/apps/tests/benchmark/lmbench/default.nix create mode 100644 user/apps/tests/benchmark/lmbench/flake.lock create mode 100644 user/apps/tests/benchmark/lmbench/flake.nix diff --git a/user/apps/default.nix b/user/apps/default.nix index 209ac841bd..eff2392490 100644 --- a/user/apps/default.nix +++ b/user/apps/default.nix @@ -5,50 +5,71 @@ system, target, fenix, - testOpt + testOpt, }: # Return a list of app derivations to be copied into the rootfs. let - cross = if system == "x86_64-linux" && target == "x86_64" then pkgs - else if target == "riscv64" then pkgs.pkgsCross.riscv64 - else import nixpkgs { - localSystem = system; - crossSystem = if target == "x86_64" then "x86_64-unknown-linux-gnu" - else abort "Unsupported target: ${target}}"; - }; + cross = + if system == "x86_64-linux" && target == "x86_64" then + pkgs + else if target == "riscv64" then + pkgs.pkgsCross.riscv64 + else + import nixpkgs { + localSystem = system; + crossSystem = + if target == "x86_64" then "x86_64-unknown-linux-gnu" else abort "Unsupported target: ${target}}"; + }; - cross-musl = if system == "x86_64-linux" && target == "x86_64" then pkgs.pkgsMusl - else if target == "riscv64" then pkgs.pkgsCross.riscv64-musl - else import nixpkgs { - localSystem = system; - crossSystem = if target == "x86_64" then "x86_64-unknown-linux-musl" - else abort "Unsupported target: ${target}-musl}"; - }; + cross-musl = + if system == "x86_64-linux" && target == "x86_64" then + pkgs.pkgsMusl + else if target == "riscv64" then + pkgs.pkgsCross.riscv64-musl + else + import nixpkgs { + localSystem = system; + crossSystem = + if target == "x86_64" then + "x86_64-unknown-linux-musl" + else + abort "Unsupported target: ${target}-musl}"; + }; - static = if system == "x86_64-linux" && target == "x86_64" then pkgs.pkgsStatic - else if target == "riscv64" then import nixpkgs { - crossSystem = lib.systems.examples.riscv64-musl; - isStatic = true; - } else abort "Unsupported static target: ${target}"; + static = + if system == "x86_64-linux" && target == "x86_64" then + pkgs.pkgsStatic + else if target == "riscv64" then + import nixpkgs { + crossSystem = lib.systems.examples.riscv64-musl; + isStatic = true; + } + else + abort "Unsupported static target: ${target}"; - gvisor-syscall-tests = (pkgs.callPackage ./tests/syscall/gvisor { - inherit fenix system; - installDir = testOpt.syscall.testDir; - version = testOpt.syscall.version; - }); -in [ + gvisor-syscall-tests = ( + pkgs.callPackage ./tests/syscall/gvisor { + inherit fenix system; + installDir = testOpt.syscall.testDir; + version = testOpt.syscall.version; + } + ); + + lmbench-benchmark-tests = (pkgs.callPackage ./tests/benchmark/lmbench { }); +in +[ static.busybox static.curl static.dropbear cross.glibc # Simple C utility - (static.callPackage ./about {}) - + (static.callPackage ./about { }) ] ++ lib.optionals (target == "x86_64" && testOpt.syscall.enable) [ # gvisor test case only included on x86_64 gvisor-syscall-tests + lmbench-benchmark-tests # TODO: Add debian libcxx deps or FHS ] diff --git a/user/apps/tests/benchmark/lmbench/.gitignore b/user/apps/tests/benchmark/lmbench/.gitignore new file mode 100644 index 0000000000..b2be92b7db --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/.gitignore @@ -0,0 +1 @@ +result diff --git a/user/apps/tests/benchmark/lmbench/default.nix b/user/apps/tests/benchmark/lmbench/default.nix new file mode 100644 index 0000000000..3aadec13b2 --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/default.nix @@ -0,0 +1,75 @@ +{ + lib, + pkgs, + installDir ? "/opt/lmbench", +}: + +let + lmbenchBin = pkgs.fetchurl { + url = "https://mirrors.dragonos.org.cn/pub/third_party/lmbench/lmbench-ubuntu2404-202511301014-36c2fb2d084343e098b5e343576d4fc0.tar.xz"; + sha256 = "sha256-/iP7oKc2n0CXpA0OgVQX86quNfbtjXBZ83RBl1MEBhE="; + }; + + testScript = pkgs.stdenv.mkDerivation { + pname = "lmbench-test-script"; + version = "3.0-a9"; + + src = lib.sourceByRegex ./. [ + "^test_cases" + "^.*\.sh$" + ]; + + installPhase = '' + mkdir -p $out/${installDir} + + install -m755 *.sh $out/${installDir}/ + cp -r test_cases $out/${installDir}/ + chmod +x $out/${installDir}/test_cases/*.sh + ''; + }; + + lmbench = pkgs.stdenv.mkDerivation { + pname = "lmbench"; + version = "3.0-a9"; + + src = lmbenchBin; + + nativeBuildInputs = [ pkgs.autoPatchelfHook ]; + + buildInputs = [ + pkgs.stdenv.cc.cc.lib + pkgs.glibc + pkgs.bzip2 + ]; + + sourceRoot = "."; + + installPhase = '' + # Keep Ubuntu package's original directory structure, but flatten sysroot + mkdir -p $out + + # If there's a sysroot directory, flatten it + if [ -d sysroot ]; then + cp -r sysroot/* $out/ + else + cp -r * $out/ + fi + + # Make all binaries executable + find $out -type f -executable -exec chmod +x {} \; + + # Remove broken symlinks (mainly documentation files from sysroot) + find $out -xtype l -delete + ''; + + # autoPatchelfHook will automatically run after installPhase + # to patch all ELF binaries with correct library paths + }; +in +pkgs.symlinkJoin { + name = "lmbench-with-tests"; + paths = [ + lmbench + testScript + ]; +} diff --git a/user/apps/tests/benchmark/lmbench/flake.lock b/user/apps/tests/benchmark/lmbench/flake.lock new file mode 100644 index 0000000000..00eeb0412d --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1767767207, + "narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5912c1772a44e31bf1c63c0390b90501e5026886", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/user/apps/tests/benchmark/lmbench/flake.nix b/user/apps/tests/benchmark/lmbench/flake.nix new file mode 100644 index 0000000000..082d37042d --- /dev/null +++ b/user/apps/tests/benchmark/lmbench/flake.nix @@ -0,0 +1,44 @@ +{ + description = "LMbench benchmark suite packaged for nix (x86_64-linux only)"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + }; + + outputs = + { self, nixpkgs }: + let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + + # Default installation directory + defaultInstallDir = "tests/benchmark/lmbench"; + + # Import the package definition + lmbench = import ./default.nix { + inherit (pkgs) lib pkgs; + installDir = defaultInstallDir; + }; + in + { + packages.${system} = { + default = lmbench; + lmbench = lmbench; + }; + + # Allow overriding installDir + lib.${system}.mkLmbench = + { + installDir ? defaultInstallDir, + }: + import ./default.nix { + inherit (pkgs) lib pkgs; + inherit installDir; + }; + + apps.${system}.default = { + type = "app"; + program = "${lmbench}/${defaultInstallDir}/run_tests.sh"; + }; + }; +} diff --git a/user/apps/tests/syscall/gvisor/default.nix b/user/apps/tests/syscall/gvisor/default.nix index 3adee8777b..cbc0481ec8 100644 --- a/user/apps/tests/syscall/gvisor/default.nix +++ b/user/apps/tests/syscall/gvisor/default.nix @@ -38,14 +38,38 @@ let ''; }; - # 2. Prepare the test data, scripts, and patched binaries - # This derivation handles downloading, extracting, and patching the tests. - tests = pkgs.stdenv.mkDerivation { - pname = "gvisor-tests-data"; + # 2. Extract and patch test binaries + # This derivation handles downloading, extracting, and patching the test binaries. + # Separated from scripts so that whitelist/blocklist changes don't trigger repatching. + testBinaries = pkgs.stdenv.mkDerivation { + pname = "gvisor-tests-binaries"; + version = "0.1.0"; + + src = testsArchive; + + nativeBuildInputs = [ pkgs.autoPatchelfHook ]; + + buildInputs = [ pkgs.stdenv.cc.cc.lib ]; + + sourceRoot = "."; + + installPhase = '' + mkdir -p $out/${installDir}/tests + cp -r * $out/${installDir}/tests/ + + runHook preInstall + find $out/${installDir}/tests -type f -name '*_test' -exec chmod 755 {} \; || true + runHook postInstall + ''; + }; + + # 3. Prepare test scripts and configuration files + # This derivation contains frequently modified files (whitelist, blocklists, scripts). + # Changes here won't trigger binary repatching. + testScripts = pkgs.stdenv.mkDerivation { + pname = "gvisor-tests-scripts"; version = "0.1.0"; - # Use sourceByRegex to only depend on relevant files. - # This prevents rebuilds when files in ./runner change. src = lib.sourceByRegex ./. [ "^whitelist\.txt$" "^blocklists" @@ -53,30 +77,18 @@ let "^run_tests\.sh$" ]; - nativeBuildInputs = [ pkgs.autoPatchelfHook ]; - - buildInputs = [ pkgs.stdenv.cc.cc.lib ]; - installPhase = '' mkdir -p $out/${installDir} install -m644 whitelist.txt $out/${installDir}/ cp -r blocklists $out/${installDir}/ install -m755 run_tests.sh $out/${installDir}/ - - # Bundle tests archive for offline systems - mkdir -p $out/${installDir}/tests - tar -xf ${testsArchive} -C $out/${installDir}/tests --strip-components=1 - - runHook preInstall - find $out/${installDir}/tests -type f -name '*_test' -exec install -m755 {} $out/${installDir}/tests \; || true - runHook postInstall ''; }; in pkgs.symlinkJoin { name = "gvisor-tests"; - paths = [ runner tests ]; + paths = [ runner testBinaries testScripts ]; meta = with lib; { description = "gVisor syscall test runner and scripts"; platforms = platforms.linux;