perf: add Linux perf profiling artifacts#89
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 59d0b5cac4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1f79a848ae
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1a7eba21b6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ab3dc71af6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a313a0d5e0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e9ac7bda94
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Hooray! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6cdda3b84f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Perf: perf version 6.1.174 | ||
| Perf paranoid: 2 | ||
| Build type: Release | ||
| Git commit: 6024b30 |
There was a problem hiding this comment.
Regenerate perf artifacts from the reviewed tree
The current reviewed commit is 99ff89a, but the committed artifact metadata still says these numbers came from 6024b30 with Dirty tree: no (and results/perf_report_linux.txt has the same mismatch). Fresh evidence after the earlier comment is that this final tree now fixes the target path issues, but the artifact provenance still points at a different commit, so consumers cannot verify that the saved perf output was produced from the code/scripts being reviewed or merged.
Useful? React with 👍 / 👎.
|
Documentation synchronization pass pushed: roadmap/memory files now classify M29 as perf workflow + constrained-environment validation only, record issue #90 as full PMU evidence debt, add M32-M41, and add ADRs for TSan limits, allocator-vs-storage separation, and constrained perf artifacts. No code or benchmark results changed. |
|
@codex review |
Summary
make perf-stat/make perf-recordtargets and scripts forperf statplusperf record/reportevidence.docs/perf_analysis.mdand link it from Linux performance notes/results docs.results/perf_stat_linux.txtandresults/perf_report_linux.txtwith hardware/kernel/compiler/perf/git/dirty-tree metadata.QSL_PERF_ALLOW_PARTIAL=1can document constrained perf environments but cannot hide a failingqsl-benchworkload.perf recordsample frequency to2000 Hzso the short default benchmark can realistically clear the 100-sample hot-profile floor on hosts where sampling is permitted.K/M, decimals, commas, lowercase suffixes) before applying the minimum-sample gate./tmp/report.txtare omitted from Git pathspecs, and dirty-check failures abort instead of recording misleading clean metadata.qsl-benchsuite;qsl-bench diffandqsl-bench poolrequire separate explicit perf runs before supporting hotspot conclusions.Verification
bash -n scripts/perf_stat.sh scripts/perf_record.shmake checkpasses locally: 186/186.parse_sample_count_tokenhelper:# Samples: 2K ...->2000# Samples: 1.5K ...->1500# Samples: 3M ...->3000000# Samples: 1,234 ...->1234# Samples: 42 ...->42perf report --stdioend-to-end check:# Samples: 2K ...producesSample count: 2000,Insufficient samples: no,No samples: no, andArtifact: software sampling hot-symbol profile.QSL_BENCH_BIN=/usr/bin/falseandQSL_PERF_ALLOW_PARTIAL=1, both perf scripts exit4before perf collection; partial mode does not override benchmark failure.QSL_PERF_STAT_OUT=/tmp/qsl-stat-outside.txt->Dirty tree: no, no Git fatal/pathspec error.QSL_PERF_REPORT_OUT=/tmp/qsl-report-outside.txt QSL_PERF_DATA=/tmp/qsl-perf-outside.data->Dirty tree: no, no Git fatal/pathspec error.QSL_PERF_STAT_OUT=$PWD/results/tmp_abs_stat.txt->Dirty tree: no.QSL_PERF_REPORT_OUT=$PWD/results/tmp_abs_report.txt QSL_PERF_DATA=$PWD/results/tmp_abs_perf.data->Dirty tree: no,Sample count: 2000.uname -a: LinuxKit aarch64perf --version: 6.1.174/proc/sys/kernel/perf_event_paranoid: 2perf stat -e cycles,instructions,branches,branch-misses,cache-references,cache-misses -- true: hardware counters are unavailable/permission-limited in this environment.6024b30withDirty tree: noandBenchmark binary: build/bench/qsl-bench; the artifact-refresh commit is6cdda3b.Scope Split
PR #89 lands the perf workflow plus constrained-environment validation only. Full Linux hardware PMU evidence is backlogged separately in issue #90: #90
Caveat
The committed
perf_stat_linux.txtis intentionally labeledArtifact: constrained-environment validation (partial; not full hardware PMU evidence)because Docker Desktop Linux does not expose usable hardware PMU counters here. It must not be treated as full M29 hardware-counter evidence.The committed
perf_report_linux.txtis intentionally labeledArtifact: constrained-environment validation (partial; no clean sample report). It hasNo samples: yes,Sample count: 0, andPerf access limitation: yes, so it is not hot-symbol evidence and should not guide optimization work in this Docker environment.Full M29 PMU evidence still requires bare-metal Linux or a VM with hardware
perf_eventaccess where the required counters are supported andUnsupported counters detected: no. No optimization or production-latency claim is made.