-
Notifications
You must be signed in to change notification settings - Fork 26
Performance/Sysbench: baseline gating, MB/sec normalization, clock sanity + docs/YAML updates #244
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
base: main
Are you sure you want to change the base?
Conversation
Add sysbench parsers for time_sec and mem_mbps metrics. Add values helpers (append/avg) for iteration aggregation. Add fifo-based tee runner and CSV append helper for KPIs. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
| if [ -d /var/tmp ] && [ -w /var/tmp ]; then | ||
| FILEIO_DIR="/var/tmp/sysbench_fileio" | ||
| else | ||
| FILEIO_DIR="/tmp/sysbench_fileio" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if nothing is present in /tmp/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if nothing is present in /tmp/
This is how the changes
The /var/tmp → /tmp fallback assumes /tmp exists and is writable. Please add a mkdir -p "$FILEIO_DIR" + -w check and SKIP with message if it’s not usable.
| set_performance_governor 2>/dev/null || true | ||
|
|
||
| # --------- FileIO prepare (safety warning + prepare) ---------- | ||
| case "$FILEIO_DIR" in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Better to add this at line#221
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Better to add this at line#221
the case "$FILEIO_DIR" in safety block fits better near the FileIO prepare section (around line ~221) so the flow reads init → deps → baseline → governor → fileio prepare.
|
|
||
| if [ -n "$BASELINE_FILE" ] && [ "$gate_fail" -ne 0 ]; then | ||
| log_fail "$TESTNAME FAIL - one or more KPIs did not meet baseline thresholds" | ||
| echo "$TESTNAME FAIL" >"$RES_FILE" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add restore_governer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add restore_governer
if trap cleanup EXIT is set early and cleanup() calls restore_governor, we’re already covered for both PASS/FAIL exits. Before any early exit paths, otherwise i have added explicit restore_governor before exit.
| fi | ||
|
|
||
| log_pass "$TESTNAME PASS" | ||
| echo "$TESTNAME PASS" >"$RES_FILE" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add restore_governer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add restore_governer
Here as well
| steps: | ||
| - REPO_PATH=$PWD | ||
| - cd Runner/suites/Performance/Sysbench_Performance/ | ||
| - ./run.sh || true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you want to add parameters aswell.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you want to add parameters aswell.
considered only adding minimal CI-stability params (ITERATIONS, THREADS_LIST, ALLOWED_DEVIATION) so runs are reproducible.
|
please re order commits, i would suggest this way |
Add baseline KPIs for CPU/Memory/Threads/Mutex averages. Document thread-key naming used by the gate evaluator. Enable PASS/FAIL comparisons using delta threshold in run.sh. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
- Log timedatectl status/show-timesync/timesync-status outputs when epoch detected - Log systemctl status for systemd-timesyncd for debug - Try RTC restore (hwclock / rtc0 since_epoch) before falling back - Seed time from kernel build timestamp (uname -v / /proc/version) if available - Continue gracefully if clock remains invalid Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Run CPU/Memory/Threads/Mutex workloads with iterations support. Capture per-iteration logs while streaming output to console. Compute KPI averages and optionally gate against baseline+delta. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Document CLI/env options, output artifacts, and examples. Explain baseline file format and recommended delta threshold. Describe CSV/KPI summary fields for CI and local runs. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Provide LAVA YAML to run sysbench suite on target devices. Expose key parameters (threads, iterations, delta, taskset). Store logs and summaries as job artifacts for analysis. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Yes, thanks for pointing out the order makes sense. Updated the order. |
This PR refreshes the Sysbench_Performance suite end-to-end (runner, library helpers, config/docs, and CI job wiring).
Included changes: