ci: remove samply walltime profiler and pinned runner version#18
Merged
Conversation
Merging this PR will degrade performance by 48.6%
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
9c0f6d1 to
d4fc94b
Compare
On a cache hit the Build Capstone step is skipped, so .capstone is absent and 'just install local' fails when make recompiles cycledecode.o (capstone/capstone.h not found). Cache .capstone alongside the build tree and bump the cache key to repopulate.
The local 'CodSpeed Benchmarks' job kept hitting its job timeout on the
stress-ng rows. stress-ng is the only forking workload in the suite and
deadlocks under 'callgrind --trace-children=yes' on a lost pause() wakeup.
Root cause is an application-level race in stress-ng, not our code and not
a Valgrind signal-delivery bug. Its termination wait
while (stress_continue(args))
(void)shim_pause();
can miss the SIGALRM that clears the continue flag if the signal lands
between the flag check and pause(), so pause() blocks on a signal that
already arrived. stress-ng's alarm(1) re-alarm mitigation fails here because
alarm() is per-process (a forked worker that already lost its SIGALRM has no
self-armed alarm) and Valgrind serializes all guest threads onto one
scheduler lock, widening the check->pause() window from nanoseconds to
milliseconds. It reproduces on stock upstream Valgrind 3.26.0/3.25.1 too; the
only thing special about 'local' is that it is slower and runs extra configs,
so it trips the race far more often.
In practice only the full-* configs (--trace-children + cache-sim, the
slowest) hang; take_strings/echo/python3 are unaffected. stress-ng adds
little value as a callgrind throughput benchmark, so remove it rather than
work around an upstream bug. The 'timeout --kill-after=10s 120s' wrapper from
the previous commit stays as a backstop. (--fair-sched=yes was tried and
regressed the hang onto take_strings full-with-inline, so it was reverted.)
d4fc94b to
e0e62db
Compare
GuillaumeLagrange
approved these changes
Jun 22, 2026
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
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.
Summary
4.17.7-alpha.1to test samplyCODSPEED_WALLTIME_PROFILER: samplyenv var from the benchmarks workflow stepThe CI workflow returns to using
CodSpeedHQ/action@mainwith the default runner version and default walltime profiler.Test plan