Repository navigation
quest: record a noisy-host log lock profile attempt - #7300
Conversation
Quest-Claim: 024ec46b742c90c3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 11 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed commit: 37ddd15
No actionable bugs found in the quest Plan update. Keeping the quest open and requiring quiet-host comparisons against both bases is the right direction: it avoids treating the noisy measurements as completion or attributing later changes to #6782. The two added bullets are appropriately scoped; no extra implementation complexity is introduced.
Verification: inspected the complete diff, surrounding quest, benchmark guidance, and existing review activity. This is a documentation-only review; I did not run tests or benchmarks or independently validate the recorded measurements.
Profiles relay lock contention under
video-heavybefore and after the epoch-basedkio::log(moq-dev/moq#6782) for log-lock-profile.These numbers aren't trustworthy.
desktopwas busy with other agents for the whole run: across 128 samples taken 20 s apart over 43 minutes, the 1-minute load ranged from 5.4 to 30.2 (median 11.8).bench/README.mdasks for load near zero. The quest stays open, and this PR only records the attempt and the maintainer's decision in its Plan. It lands as a checkpoint so the quest's claim frees up for the quiet rerun.Measurements
Command:
quest gate nix develop --command just bench-profile lock video-heavy "1 4 16" tokio-workers <base>, run fromorigin/main1c733a0 with two bases:d854bf98b1~1, the commit before perf(kio,net): lock-free append-only log for group frames #6782, as the quest's Plan asks.d854bf98b1, the commit that merged perf(kio,net): lock-free append-only log for group frames #6782. The Plan's single run compares pre-perf(kio,net): lock-free append-only log for group frames #6782 against today'smain, which also includes later group changes (moq-dev/moq#7141, moq-dev/moq#7139, moq-dev/moq#7056, …). Profiling this second base shows perf(kio,net): lock-free append-only log for group frames #6782's effect on its own.The harness's own tables, plus mutex wait split by the locked
kio::State<T>(summed frommutex.folded):7237beb17a)perf dropped events (PERF_RECORD_LOST lost 1)d854bf98b1)main(1c733a08d0)cache::WallDeadlines)mainmainworker moq-quic-10 has nonalternating switch recordsRead with the noise in mind:
GroupStatewaits fell from 0.8 ms (1%) to none, and total mutex wait fell from 79 to 35 ms. At 16 workers, perf(kio,net): lock-free append-only log for group frames #6782 has noGroupStatewaits, but the pre-perf(kio,net): lock-free append-only log for group frames #6782 capture failed, so that worker count has no comparison. At 1 worker, there are no mutex waits on either side. This agrees with perf(kio,net): lock-free append-only log for group frames #6782's criterion direction.main, the unprofiled 1-worker run reached only 11k fps, against 28–30k for the other revisions. Total wait at 4 workers varies 3× between revisions, almost all of it inTrackState, which perf(kio,net): lock-free append-only log for group frames #6782 didn't change.mainshowsGroupStatewaits again: 10.4 ms at 4 workers, undergroup::Consumer::poll_read_frame_once→Prefetch::pop_cached(the frame read path changed after perf(kio,net): lock-free append-only log for group frames #6782). This could be noise, or it could be a later change. Rerunning on a quiet host would tell which.The raw evidence (
perf.data,mutex.folded,lock.json) stayed ondesktopin this worktree's.tmp/bench/run.gwlrzz(pre-#6782 base) and.tmp/bench/run.NniwH7(#6782 base andmain). It gets deleted along with the worktree.Changes
quest/m1/unbounded-groups/log-lock-profile.md: the Plan now records this attempt, suggests profilingd854bf98b1as a second base, and records the 2026-10-30 decision to rerun both bases on a quiet host, with theGroupStatefollow-up to check then.Decisions
GroupStatewaits onmain(poll_read_frame_once/Prefetch::pop_cached) need their own quest. The quest's Plan now says to suggest that follow-up if they persist on a quiet host.Choices made without asking
d854bf98b1as a second base in addition to the Plan'sd854bf98b1~1, so perf(kio,net): lock-free append-only log for group frames #6782's effect is isolated from later changes.Suggested follow-ups
-m) could make the capture more robust. This is only worth doing if the failures persist on a quiet host.Checks
quest check --base origin/main: ok (670 documents) on37ddd15cb0.just check origin/main: passed onef2a2718c3;37ddd15cb0only edits quest prose.Review
Local review skipped as trivial: the diff adds only two Plan bullets recording the attempt and the maintainer's decision, with no code change. Head: 37ddd15.
(Written by Claude Opus 5.5)
🤖 Generated with Claude Code