Skip to content

Commit 1d97e86

Browse files
committed
CI: enable Tiotest runner in performance plan
Wire Tiotest into the CI/LAVA performance workflow. - Add Tiotest invocation with explicit args and output directory - Ensure result files are uniquely named/saved for CI artifacts - Keep execution order consistent with existing performance runners Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
1 parent 3d90f2c commit 1d97e86

1 file changed

Lines changed: 102 additions & 0 deletions

File tree

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
metadata:
2+
name: tiotest-performance
3+
format: "Lava-Test Test Definition 1.0"
4+
description: >
5+
Tiotest storage performance suite (sequential + random read/write)
6+
with per-iteration logs, summary averages, baseline gating (optional),
7+
and latency collection (optional). Designed for Yocto / LE platforms.
8+
os:
9+
- linux
10+
scope:
11+
- performance
12+
- functional
13+
14+
params:
15+
# Output (LAVA will collect everything under this dir if you add it to artifacts)
16+
OUT_DIR: "./logs_Tiotest"
17+
18+
# Iteration controls
19+
ITERATIONS: "3"
20+
THREADS_LIST: "1 4"
21+
22+
# tiotest binary
23+
TIOTEST_BIN: "tiotest"
24+
25+
# Storage target
26+
TIOTEST_DIR: "/var/tmp/tiotest_fileio"
27+
USE_RAW: "0" # 0 => filesystem, 1 => raw block device
28+
OFFSET_MB: "" # optional (--offset-mb)
29+
OFFSET_FIRST: "0" # (--offset-first)
30+
31+
# Modes to run
32+
MODE_LIST: "seqwr seqrd rndwr rndrd"
33+
34+
# Sequential parameters
35+
SEQ_BLOCK_SIZE: "524288" # 512 KB
36+
SEQ_FILE_SIZE_MB: "1024" # 1 GB per thread
37+
38+
# Random parameters
39+
RND_BLOCK_SIZE: "4096" # 4 KB
40+
RND_FILE_SIZE_MB: "1" # MB
41+
RND_OPS: "12500"
42+
43+
# tiotest flags
44+
# NOTE: set to "0" to ENABLE latency output and populate latency columns in metrics.
45+
HIDE_LATENCY: "0" # --hide-latency (0 => show latency, 1 => hide latency)
46+
TERSE: "0" # --terse
47+
SEQ_WRITE_PHASE: "0" # --seq-write-phase
48+
SYNC_WRITES: "0" # --sync-writes
49+
CONSISTENCY: "0" # --consistency
50+
DEBUG_LEVEL: "" # --debug-level
51+
52+
# Stability / environment
53+
DROP_CACHES: "1"
54+
SET_PERF_GOV: "1"
55+
REQUIRE_NON_TMPFS: "1"
56+
57+
# Baseline / gating (optional)
58+
# Point this to tiotest_baseline.conf if you want PASS/FAIL gating against thresholds.
59+
BASELINE_FILE: "" # e.g. "/tmp/Runner/suites/Performance/Tiotest/tiotest_baseline.conf"
60+
ALLOWED_DEVIATION: "0.10" # used when goal missing: derived from baseline +/- delta
61+
62+
# Standalone mode (no init_env)
63+
STANDALONE: "0"
64+
65+
run:
66+
steps:
67+
- REPO_PATH=$PWD
68+
- cd Runner/suites/Performance/Tiotest/ || exit 0
69+
70+
# Run runner; it is LAVA-friendly and should not hard-fail the job.
71+
- >
72+
./run.sh
73+
--out-dir "$OUT_DIR"
74+
--iterations "$ITERATIONS"
75+
--threads-list "$THREADS_LIST"
76+
--tiotest-bin "$TIOTEST_BIN"
77+
--tiotest-dir "$TIOTEST_DIR"
78+
--use-raw "$USE_RAW"
79+
--offset-mb "$OFFSET_MB"
80+
--offset-first "$OFFSET_FIRST"
81+
--mode-list "$MODE_LIST"
82+
--seq-block "$SEQ_BLOCK_SIZE"
83+
--seq-file-mb "$SEQ_FILE_SIZE_MB"
84+
--rnd-block "$RND_BLOCK_SIZE"
85+
--rnd-file-mb "$RND_FILE_SIZE_MB"
86+
--rnd-ops "$RND_OPS"
87+
--hide-latency "$HIDE_LATENCY"
88+
--terse "$TERSE"
89+
--seq-write-phase "$SEQ_WRITE_PHASE"
90+
--sync-writes "$SYNC_WRITES"
91+
--consistency "$CONSISTENCY"
92+
--debug-level "$DEBUG_LEVEL"
93+
--drop-caches "$DROP_CACHES"
94+
--set-perf-gov "$SET_PERF_GOV"
95+
--require-non-tmpfs "$REQUIRE_NON_TMPFS"
96+
--baseline "$BASELINE_FILE"
97+
--delta "$ALLOWED_DEVIATION"
98+
--standalone "$STANDALONE"
99+
|| true
100+
101+
# Emit result to LAVA (expects Tiotest.res in current directory)
102+
- $REPO_PATH/Runner/utils/send-to-lava.sh Tiotest.res

0 commit comments

Comments
 (0)