-
-
Notifications
You must be signed in to change notification settings - Fork 168
test(lmbench): 引入 lmbench 测试框架集成和自动测试脚本 #1433
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
mistcoversmyeyes
wants to merge
13
commits into
DragonOS-Community:master
Choose a base branch
from
mistcoversmyeyes:feat/lmbench
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
test(lmbench): 引入 lmbench 测试框架集成和自动测试脚本 #1433
mistcoversmyeyes
wants to merge
13
commits into
DragonOS-Community:master
from
mistcoversmyeyes:feat/lmbench
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
本次改动重构了测试相关文件的组织结构,提升了项目的可维护性和可访问性。 1. **移动 lmbench 到规范位置** - 将 `test/src/benchmark/lmbench` 移动到 `user/apps/tests/benchmark/lmbench` - 更新 DADK 配置文件 `user/dadk/config/lmbench_bin_ubuntu2404.toml` 中的路径引用 - 保持所有 lmbench 二进制文件、库文件和文档的完整性 2. **创建便捷访问符号链接** - 在项目根目录创建 `test` 符号链接,指向 `user/apps/tests` - 简化测试套件的访问路径,提升开发体验 - 使用符号链接避免了重复存储和路径混乱 - 文件移动采用 Git rename 机制,保留完整的文件历史 - DADK 配置路径从 `test/src/benchmark/lmbench/sysroot` 更新为 `user/apps/tests/benchmark/lmbench/sysroot` - 符号链接使测试目录可通过 `test/` 直接访问,同时实际文件仍位于 `user/apps/tests/` Signed-off-by: yuming <[email protected]>
添加统一的环境变量配置脚本,用于定义 lmbench 测试所需的路径和参数。 主要配置项: - LMBENCH_BIN: lmbench 二进制文件路径 - LMBENCH_EXT2_DIR: ext2 文件系统测试目录 - LMBENCH_TMP_DIR: 临时文件目录 - LMBENCH_LOG_DIR: 日志目录 - LMBENCH_TEST_FILE: 测试文件名 - LMBENCH_ZERO_FILE: zero 文件名 使用方法:source env.sh Signed-off-by: yuming <[email protected]>
添加 ext2 和 ramfs 文件系统的性能测试脚本: ext2 测试: - ext2_copy_files_bw.sh: 文件拷贝带宽测试 - ext2_create_delete_files_0k_ops.sh: 0k 文件创建删除测试 - ext2_create_delete_files_10k_ops.sh: 10k 文件创建删除测试 ramfs 测试: - ramfs_copy_files_bw.sh: 文件拷贝带宽测试 - ramfs_create_delete_files_0k_ops.sh: 0k 文件创建删除测试 - ramfs_create_delete_files_10k_ops.sh: 10k 文件创建删除测试 所有脚本使用环境变量配置路径,支持在宿主机和 DragonOS 中运行。 Signed-off-by: yuming <[email protected]>
添加内存子系统性能测试脚本: 带宽测试: - mem_copy_bw.sh: 内存拷贝带宽 - mem_read_bw.sh: 内存读带宽 - mem_write_bw.sh: 内存写带宽 - mem_mmap_bw.sh: 内存映射读带宽 延迟测试: - mem_mmap_lat.sh: 内存映射延迟 - mem_pagefault_lat.sh: 页错误处理延迟 这些测试用于评估内存子系统的吞吐量和访问延迟。 Signed-off-by: yuming <[email protected]>
添加 IPC 机制的性能测试脚本: 管道测试: - pipe_bw.sh: 管道带宽测试 - pipe_lat.sh: 管道延迟测试 FIFO 测试: - fifo_lat.sh: FIFO 延迟测试 信号量测试: - semaphore_lat.sh: 信号量操作延迟测试 这些测试用于评估不同 IPC 机制的性能特征。 Signed-off-by: yuming <[email protected]>
添加进程管理和信号处理的性能测试脚本: 进程测试: - process_fork_lat.sh: fork 系统调用延迟 - process_exec_lat.sh: exec 系统调用延迟 - process_shell_lat.sh: shell 进程启动延迟 - process_ctx_lat.sh: 进程上下文切换延迟 - process_getppid_lat.sh: getppid 系统调用延迟 信号测试: - signal_install_lat.sh: 信号处理器安装延迟 - signal_catch_lat.sh: 信号捕获处理延迟 - signal_prot_lat.sh: 信号保护处理延迟 这些测试评估进程生命周期和信号处理的性能开销。 Signed-off-by: yuming <[email protected]>
添加 TCP 协议栈的性能测试脚本: TCP loopback 测试(本地回环): - tcp_loopback_bw_128.sh: 128 字节消息带宽测试 - tcp_loopback_bw_4k.sh: 4KB 消息带宽测试 - tcp_loopback_bw_64k.sh: 64KB 消息带宽测试 - tcp_loopback_lat.sh: 延迟测试 - tcp_loopback_connect_lat.sh: 连接建立延迟测试 - tcp_loopback_http_bw.sh: HTTP 带宽测试 - tcp_loopback_select_lat.sh: select 系统调用延迟测试 TCP virtio 测试(虚拟网络): - tcp_virtio_bw_128.sh: 128 字节消息带宽测试 - tcp_virtio_bw_64k.sh: 64KB 消息带宽测试 - tcp_virtio_lat.sh: 延迟测试 - tcp_virtio_connect_lat.sh: 连接建立延迟测试 所有 loopback 测试包含服务端自动启动和清理逻辑。 Virtio 测试需要在 10.0.2.15 运行对应服务端。 Signed-off-by: yuming <[email protected]>
添加 UDP 协议和 Unix domain socket 的性能测试脚本: UDP 测试: - udp_loopback_lat.sh: UDP loopback 延迟测试 - udp_virtio_lat.sh: UDP virtio 延迟测试 Unix domain socket 测试: - unix_bw.sh: Unix socket 带宽测试 - unix_lat.sh: Unix socket 延迟测试 - unix_connect_lat.sh: Unix socket 连接延迟测试 UDP loopback 和 Unix socket 连接测试包含服务端自动管理。 UDP virtio 测试需要在 10.0.2.15 运行服务端。 Signed-off-by: yuming <[email protected]>
添加虚拟文件系统 (VFS) 层的性能测试脚本: 系统调用延迟测试: - vfs_open_lat.sh: open 系统调用延迟 - vfs_read_lat.sh: read 系统调用延迟 - vfs_write_lat.sh: write 系统调用延迟 - vfs_stat_lat.sh: stat 系统调用延迟 - vfs_fstat_lat.sh: fstat 系统调用延迟 - vfs_fcntl_lat.sh: fcntl 系统调用延迟 - vfs_select_lat.sh: select 系统调用延迟 带宽测试: - vfs_read_pagecache_bw.sh: 页缓存读带宽测试 这些测试评估文件系统抽象层的性能开销。 Signed-off-by: yuming <[email protected]>
添加 lmbench 测试脚本的完整使用文档,包含: 1. 目录结构说明 2. 环境配置方法 3. 测试执行步骤 4. 测试分类详解(8 大类 48 个测试) 5. 注意事项和依赖说明 6. 宿主机和 DragonOS 使用差异 7. 后续改进计划 该文档为用户提供了测试脚本的使用指南和参考。 Signed-off-by: yuming <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.