sched: bound pinned wake scans by outstanding home holds - #964
Draft
ryanbreen wants to merge 2 commits into
Draft
Conversation
Keep per-CPU reachability credits separate from cumulative failures. Retire delivered and discarded credits under the scheduler lock and guard scan entry on the local balance. Add source ratchets and extracted-method before/after probes covering the guard, balance and discard dispositions. Co-authored-by: Ryan Breen <ryan@breen.io> Co-authored-by: Claude Code <noreply@anthropic.com>
Record refreshed source citations, the forced scan delta and mutation results, architecture gate transcripts, the Beast preflight timeout, and the bounded scope of the scan accounting change. Co-authored-by: Ryan Breen <ryan@breen.io> Co-authored-by: Claude Code <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A pinned wake currently arms a cumulative counter that makes subsequent scheduler entries scan the thread list in the shipped no-feature profile. Track outstanding home-CPU holds and guard scan entry on the local balance; retire delivery and discarded-wake credits with saturating arithmetic.
The new array is a reachability counter, not a cumulative failure census field. The existing failure counters remain cumulative. The normal-context census emitter also publishes
[PINNED_HOLDS_OUTSTANDING:count=0]. Scheduler.rs is not Tier 2; this PR edits no Tier-1 or Tier-2 source and adds no hot-path logging.Validation at cab966e:
Draft: x86 acceptance blocked by issue 963. The first Beast preflight timed out at 300 seconds under load. The single retry with BREENIX_STRUCTURE_SUITE_TIMEOUT_SECS=900 passed that suite in 368 seconds, but gate_qmp_backstop_structure failed
hang must reach dump. The gate stopped before kernel compilation or boot. This is UNATTRIBUTED under the plan's stop rule; no further gate retry was made.The brief's discard requirement adds completed-pass reconciliation beyond the plan's delivery-only decrement. A CPU that does not re-enter the scheduler still has no wall-clock recovery bound. This PR does not eliminate scans, measure cycles, introduce production pins, or claim a prerequisite before PR 4a; it precedes PR 4b.
Round record, refreshed citations, claim-lint records, raw serials and per-suite archives:
docs/planning/green-program/aarch64-testing/3F-PR2B-2026-09-07.mdand itsserials/3f-pr2b/directory. Chips removed: 0.