Repository navigation
fix(libkernel): omit inactive wait trace sites - #7156
Conversation
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
MarcZX10
left a comment
There was a problem hiding this comment.
Reviewed the current diff. The zero-call filter is applied only to the temporary report vector, so it removes stale inactive sites without changing stored counters and still retains active waits whose measured duration is zero. I found no correctness issue in this change; the documented focused regression and platform runs cover the reported behavior.
75ea676 to
e655149
Compare
e655149 to
d5e18b3
Compare
|
Linux run on the current head, since the 2026-10-24 main refresh in the PR description notes that no new Linux run is claimed for that rebase. Head In the failing arm the second AI-assisted: yes |
…fresh-pr7156-maind3b-20261026
✅ AMD GPU test: passedPR head
Unstable on main (2, these also failed in recent main runs on this machine; not counted against this PR)Failing on main too (13, not counted against this PR)Validated but not compared (6, not in the main baseline's validation pass)Validation IDs already present on main (5 IDs in 717 tests)Skipped (58)ReproduceAutomated build and test on a contributor's AMD machine; it does not replace upstream CI. A new comment is posted for each new push. Full logs. |
|
A Windows run with GCC 16: Windows 10.0.22631 (Windows 11), i9-9900K, MSYS2 UCRT64 GCC 16.1.0 (Rev5), Release, this PR ( Repro for #7155: this PR's
The wait report no longer lists sites with no waits and NaN averages, as #7155 asks 👍 AI-assisted: yes (Claude Code) |
What
Fixes #7155.
KernelTraceWait_nid_postfixresets each site's counters after reporting but copies inactive historical sites into later reports. They printx0/avg nan msand can occupy the eight displayed slots.Filter zero-call sites from the temporary vector before sorting. Active zero-duration waits remain reportable. One production line; the existing collector, reporting interval and wait/wake behaviour are unchanged. No new runtime switch.
Found while tracing PPSA99902's loading stage (#3036); this corrects diagnostics and does not claim to unblock the title. The new fixture uses the existing
APS5_TRACE_WAITSdiagnostic and two real reporting windows. Its positive check requires an active zero-duration row, and its negative check rejects inactivex0rows.Tested
2 November evening refresh: d4ae221 includes main 8fa9727, with published ancestry preserved. Exact paired source pins, commands, logs, artifact hashes, advisory analysis and limits.
Full configured native-library/relinker/actual-fixture build; 0 focused physical-GPU and 1 CPU passes. Conventions/whitespace pass. Common main checks and new capability tests are distinguished in the report. Earlier controls keep their original pins. No full-suite, new Linux/title/FPS or future combined-dependency claim.
Independent GCC 16 Windows evidence: 002b909/main88e8 fails 5/5 restoring Time.cpp, passes 5/5 with the fix. This refresh rebuilds and runs the CPU wait-trace fixture.
Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)