Stall rate window: elapsed time uses the snapshot timestamp but counters are read later #45
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found while reviewing RAM-76 (PR 44, head
0c03949).Confidence: medium (read from code, not measured).
run_execution passes now_ms = published.status.observed_at_ms (the host snapshot time) to StallWatch::judge and arm, but scope_pressure_totals reads each cgroup memory.pressure counter later in the pass. Elapsed time between two readings is therefore the snapshot spacing, while the counter delta covers the spacing plus the change in read latency. Read-latency jitter turns into rate error: at the 250 ms minimum tick a few tens of ms of jitter moves the computed rate by several points when the scope is already stalling, which is close to the 1 point (100 bp) reversal threshold. At the 3 s default tick the error is negligible.
Fix direction: take a monotonic timestamp immediately around the counter reads (once per pass, after the reads) and pass that to judge/arm, or timestamp each reading. Add a test where the read time differs from the snapshot time.
Not blocking RAM-76.
Independent review of head
8872c507ab. Verdict: pass.Acceptance:
Checks on this SHA:
8872c507ab: success. Combined status CPU checks / check (push): success. No branch protection rules. No prior reviews.Reviewed SHA:
8872c507abMerged PR 51 head
8872c507abas4f4cc4d673. Not marked done. Coordinator must verify the integrated behavior. If sync auto-closes this card, that is the known server limitation and does not replace verification.