Skip to content

Docs: record the drain-queue QoS inheritance gap and the measured cost of #70's round-trip - #78

Merged
mansbernhardt merged 1 commit into
mainfrom
docs/drive-qos-inheritance
Sep 15, 2026
Merged

mansbernhardt merged 1 commit into
mainfrom
docs/drive-qos-inheritance

Conversation

@mansbernhardt

Copy link
Copy Markdown
Collaborator

Summary

Doc-only. Adds Update 28 to Docs/test-determinism-executor-drain.md recording the outcome of #70 (closed):

  • The drain queue inherits the submitting thread's QoS, so a task resumed from a background thread runs its drive job at QOS_CLASS_BACKGROUND — a real gap in the non-starvable contract, measured directly on that branch. Victimless today: the wedge that motivated it was the 1.0.18 deadlock.
  • The floor alone is unsafe (premature settle on the 3-core runner — yielding children hop through the global executor and are invisible to outstanding); the branch's Task.yield() round-trip fixes that but costs, measured on 1.0.20 with 12 interleaved paired full-suite --parallel runs: wall time unchanged, summed per-test in-flight time +14 % median / +20 % mean, slower in 10/12 pairs, heavy tail, spread uniformly across every test (one hop per settle()).
  • What to do if a victim ever appears.

🤖 Generated with Claude Code

…yield round-trip (#70) is not landed

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant