From 0625292676a2b13014c2d4d1c39d87b05d939698 Mon Sep 17 00:00:00 2001
From: yufeng <321353225@qq.com>
Date: Wed, 31 Jul 2024 22:12:54 +0800
Subject: [PATCH] feat: run iozone

---
 kernel/src/tasks/initproc.rs | 7 +++++++
 kernel/src/tasks/mod.rs      | 6 +++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/kernel/src/tasks/initproc.rs b/kernel/src/tasks/initproc.rs
index f4b1e4b..f35f0c5 100644
--- a/kernel/src/tasks/initproc.rs
+++ b/kernel/src/tasks/initproc.rs
@@ -333,6 +333,13 @@ pub async fn initproc() {
     command("iozone -t 4 -i 0 -i 3 -r 1k -s 1m").await;
     command("busybox echo iozone throughput stride-read measurements").await;
     command("iozone -t 4 -i 0 -i 5 -r 1k -s 1m").await;
+    command("busybox echo iozone throughput fwrite/fread measurements").await;
+    command("iozone -t 4 -i 6 -i 7 -r 1k -s 1m").await;
+    command("busybox echo iozone throughput pwrite/pread measurements").await;
+    command("iozone -t 4 -i 9 -i 10 -r 1k -s 1m").await;
+    command("busybox echo iozone throughtput pwritev/preadv measurements").await;
+    command("iozone -t 4 -i 11 -i 12 -r 1k -s 1m").await;
+
 
     // command("busybox echo run lmbench_testcode.sh").await;
     // command("busybox sh lmbench_testcode.sh").await;
diff --git a/kernel/src/tasks/mod.rs b/kernel/src/tasks/mod.rs
index 2614d1d..0690259 100644
--- a/kernel/src/tasks/mod.rs
+++ b/kernel/src/tasks/mod.rs
@@ -95,7 +95,11 @@ pub fn run_tasks() {
 
 pub async fn add_user_task(filename: &str, args: Vec<&str>, envp: Vec<&str>) -> TaskId {
     let curr_task = current_task();
-    let task = UserTask::new(Weak::new(), initproc::USER_WORK_DIR);
+    let task = if filename.contains("iozone") {
+        UserTask::new(Weak::new(), "/tmp")
+    } else {
+        UserTask::new(Weak::new(), initproc::USER_WORK_DIR)
+    };
     task.before_run();
     exec_with_process(
         task.clone(),
-- 
GitLab