SchOS/kernel
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz f9e68779ee ide: idewait spun for a minute on any machine with no legacy drive
The bound was 20,000,000 iterations, on the reasoning that a real drive
answers in microseconds so only an empty channel could reach the end. True,
and it misses what an iteration costs: every read here is a port access, and
under a hypervisor a port access is a VM exit at a microsecond or two.

Twenty million of those is a minute of the machine apparently doing nothing,
on every boot, on any machine with nothing on the primary IDE channel -- which
is every machine built in the last decade, where storage is AHCI or NVMe and
the legacy ports answer nobody. Booting the ISO looked like a hang for exactly
that reason: the line after "time:" took longer than anyone waits.

Bounded by time now, one second: four orders of magnitude more than a drive
needs, and short enough that an absent one costs nothing. "ide: no drive on
the primary channel" prints immediately.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VQ7Qx8E1q1M1bbCq8QLHS2
2026-09-13 14:43:35 +02:00
..
arch/x86_64 time: read the clock from the TSC, not from counting interrupts 2026-09-13 13:57:26 +02:00
core time: read the clock from the TSC, not from counting interrupts 2026-09-13 13:57:26 +02:00
dev ide: idewait spun for a minute on any machine with no legacy drive 2026-09-13 14:43:35 +02:00
drivers kernel: the clock ran 7x slow because the GPU never acknowledged its interrupt 2026-09-12 21:34:36 +02:00
fs time: read the clock from the TSC, not from counting interrupts 2026-09-13 13:57:26 +02:00
net net: the DHCP lease goes to the log, not over the user's shell 2026-09-12 19:59:05 +02:00
proc init: a hang is as detectable as a death, and PID 1 comes back 2026-09-13 14:27:22 +02:00
sys time: read the clock from the TSC, not from counting interrupts 2026-09-13 13:57:26 +02:00
kernel.ld Initial commit: Schunix as it stands before the SchOS rename 2026-08-09 13:47:01 +02:00