Skip to content

ci(qemu): skip bench tests under TCG instead of capping them a third time - #208

Open
lunarthegrey wants to merge 1 commit into
mainfrom
claude/quirky-lalande-ed721e
Open

ci(qemu): skip bench tests under TCG instead of capping them a third time#208
lunarthegrey wants to merge 1 commit into
mainfrom
claude/quirky-lalande-ed721e

Conversation

@lunarthegrey

Copy link
Copy Markdown
Contributor

Why

The qemu-verifier 5.15 leg soft-lockup flake struck twice in two days (2026-08-25 on #206, 2026-08-26 on #207): bpf_prog_test_run executes uninterruptibly, and under TCG bench_custom_fib_* stalls a vCPU past the 22 s watchdog; the per-fire ~35-line splat storm on the emulated serial console then times the job out at 20 min. Each hit costs a manual rerun.

This is the third round against this flake. #82 capped per-syscall repeat under PACKETFRAME_BENCH_QUICK; the follow-up capped total volume to ~400 executions per bench. Slow hosted runners still trip the watchdog, because TCG per-execution cost varies too much across runners for any fixed budget to be both meaningful and safe.

What

  • PACKETFRAME_BENCH_SKIP=1: the three bench tests early-return with a skip print (same idiom as the BPF-stub gates). Set only in qemu-verifier.yml's in-VM command — bench numbers under emulation were never meaningful.
  • The benches keep running full-mode where they mean something: ci.yml's native-speed sudo step (stable there, no QUICK set) and the hardware-artifacts SAFE suite on routers (run-tests.sh includes bench, no skip env).
  • Belt-and-braces: guest boots with watchdog_thresh=60 (virtme-ng --append), since any uninterruptible test_run in the fixture suites can stall a TCG vCPU too.
  • PACKETFRAME_BENCH_QUICK stays for constrained-but-native environments.

Verification

  • Cross-target clippy (--workspace --all-targets --all-features -D warnings) green on all 4 published targets with PACKETFRAME_SKIP_BPF_BUILD=1; cargo fmt --check clean.
  • Both qemu matrix legs must pass on this PR — the 5.15 leg is the one this fixes.

🤖 Generated with Claude Code

…aningful and safe

Third round against the 5.15 soft-lockup flake (PR #206 2026-08-25,
PR #207 2026-08-26: watchdog splat storm from bench_custom_fib_*
timing out the job). The first two rounds capped PACKETFRAME_BENCH_QUICK
harder (#82 per-syscall repeat, then a ~400-execution total budget) and
slow TCG runners still straddled the 22 s watchdog, because
bpf_test_run is uninterruptible and hosted-runner TCG speed varies too
much for any fixed budget to hold.

Bench numbers under emulation were never meaningful, so stop running
them there: a PACKETFRAME_BENCH_SKIP=1 knob (same skip-print idiom as
the BPF-stub gates) set only in qemu-verifier.yml's in-VM command. The
benches keep running full-mode where they mean something — ci.yml's
native-speed sudo step and the hardware-artifacts SAFE suite on
routers. Belt-and-braces, the guest now boots with watchdog_thresh=60
so a stalled fixture test_run can't reignite the splat storm.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant