Skip to content

sched(508): the x86 boot thread is not preempted away during its disk-completion wait - #980

Draft
ryanbreen wants to merge 9 commits into
mainfrom
sched/508-boot-thread-disk-wait
Draft

sched(508): the x86 boot thread is not preempted away during its disk-completion wait#980
ryanbreen wants to merge 9 commits into
mainfrom
sched/508-boot-thread-disk-wait

Conversation

@ryanbreen

@ryanbreen ryanbreen commented Sep 8, 2026

Copy link
Copy Markdown
Owner

The idle boot thread donated its held preemption count during disk completion waits, allowing a switch to discard the remaining boot continuation. This repair preserves the count in an idle-specific interrupt-driven halted wait and applies held-count refusal at scheduling admission. The departure oracle counts the resolved thread identity after switch return, excluding rollback.

NOT LANDED: the required merged-tip aarch64 strict gate failed 0/1 at 6cff8cf because the BSSH publickey oracle was absent. The x86 single gate was cancelled during preflight after that failure; the five-boot batch was not launched. Both standalone structure runs passed 71/71 suites. This PR remains draft and issue 508 remains open.

Historical captures contain 11/11 final registration markers, 9/11 accepted disk-wait oracles, and 5/5 busy-spin mutation FAIL oracles. Their full testing gates were red. The single-run transcript records the baseline revision only; attribution of that run to the repair commit is withdrawn. These readings do not establish a green landing.

Mechanism, oracle grammar, provenance corrections, launch load, gate logs, and limitations are in the round report. The failed landing logs are under docs/planning/green-program/block/serials/508/landing/.

ryanbreen and others added 8 commits September 8, 2026 06:39
Issue 508: retain the boot scheduling brake across an IRQ-driven HLT wait,
and apply the kernel preempt-count guard before blocked-state admission.
Count boot-window switch departures and require the final test_exec marker
in the x86 scorer. The baseline oracle records an incomplete registration
block despite the previous gate passing.

Validation: 70 structure suites passed; x86 testing profile built without
project diagnostics. Runtime and mutation validation are recorded separately.

Co-authored-by: Ryan Breen <ryan@breen.io>
Co-authored-by: Claude Code <noreply@anthropic.com>
Retain the baseline, busy-spin mutation, repaired boot runs, and production
validation with source citations and separate registration/oracle verdicts.

Co-authored-by: Ryan Breen <ryan@breen.io>
Co-authored-by: Claude Code <noreply@anthropic.com>
Issue 508 review: sample boot departures after dispatch rollback settles,
retaining the outgoing preemption snapshot. Remove context-switch serial
and logger calls plus can_schedule diagnostics and diagnostic-only state.
Update the diagnostic censuses with their deleted sites.

Validation: 70 structure suites passed, 8 source mutations rejected,
7 focused tests passed, and the x86 testing-profile build exited 0 without
project compiler diagnostics. Full committed-revision boot rerun follows.

Co-authored-by: Ryan Breen <ryan@breen.io>
Co-authored-by: Claude Code <noreply@anthropic.com>
Preserve the committed-revision x86 transcript and serials. The boot-disk
oracle passes, while the full gate exits 1 after polling is exhausted with
argv failure and an ext2 lock-stall marker. Keep the runtime limitations
and existing follow-ups distinct from the two reviewed code findings.

Co-authored-by: Ryan Breen <ryan@breen.io>
Co-authored-by: Claude Code <noreply@anthropic.com>
Correct transcript attribution and record pending landing status.

Co-authored-by: Ryan Breen <ryan@breen.io>
Co-authored-by: Claude Code <noreply@anthropic.com>
Co-authored-by: Ryan Breen <ryan@breen.io>
Co-authored-by: Claude Code <noreply@anthropic.com>
The aarch64 strict gate failed; x86 preflight was cancelled under the stop rule.

Co-authored-by: Ryan Breen <ryan@breen.io>
Co-authored-by: Claude Code <noreply@anthropic.com>
The aarch64 strict gate failed; x86 preflight was cancelled under the stop rule.

Co-authored-by: Ryan Breen <ryan@breen.io>
Co-authored-by: Claude Code <noreply@anthropic.com>
@ryanbreen ryanbreen changed the title Preserve the idle boot continuation during x86 disk waits sched(508): the x86 boot thread is not preempted away during its disk-completion wait Sep 8, 2026
Co-authored-by: Ryan Breen <ryan@breen.io>
Co-authored-by: Claude Code <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