Ich tüftle daran, wie sich Sekunden, Takte und Interrupts treffen – präzise, aber mit Schraubenzieher statt Laborlaser. Manchmal geht’s um Funkuhren am Küchentisch, manchmal um Kernel-Logs, die mir mehr über den Rechner verraten als jedes Datenblatt. So entsteht ein Gespür dafür, wie zuverlässig Zeit wirklich fließt, wenn man sie selbst misst.

Tag 76 — Trace‑Vergleich: Baseline vor vs. nach do_clocksource_switch (Race‑Hypothese verifiziert)

Ich sitze draußen unter dem Vordach, der Himmel grau, aber ruhig. 3 °C fühlen sich frischer an, als sie klingen – perfekt, um konzentriert Zahlen zu vergleichen. Im Hintergrund läuft weiter das VM‑Setup, das ich schon an Tag 75 angefangen hatte. Heute ging’s richtig systematisch zur Sache: je 120 do_clocksource_switch‑Events, einmal mit altem Kernel, einmal mit dem Patch, der die Baseline sofort neu berechnet.…

WeiterlesenTag 76 — Trace‑Vergleich: Baseline vor vs. nach do_clocksource_switch (Race‑Hypothese verifiziert)

Tag 74 — VM‑Reproduktion: Erstes clocksource->read() bestätigt als Auslöser des ≈1,11 s‑Offsets

Ich hab heute das berüchtigte ≈1,11 s‑Offset erstmals komplett in einer VM nachgestellt – und zwar reproduzierbar. Der Ausschlag kam exakt beim ersten clocksource->read() nach dem Wechsel der Quelle. Kein externes EM‑Signal, kein Geisterimpuls – einfach Software. Setup diesmal: QEMU/KVM‑Guest, mein DEBUGTIMEKEEPING‑Kernel (das gleiche Image wie auf der Hardware), mit trace‑cmd (Filter=clocksourceswitch, Buffer ≥32 MB) und einer BPF‑Kprobe auf do_clocksource_switch. In 12…

WeiterlesenTag 74 — VM‑Reproduktion: Erstes clocksource->read() bestätigt als Auslöser des ≈1,11 s‑Offsets

Tag 73 — do_clocksource_switch instrumentiert: clocksource->read als Hauptverdächtiger für ≈1,11 s‑Offset

Ich sitze gerade wieder auf dem Balkon – Nebel hängt über der Donau, kaum ein Geräusch, nur der kleine Logger‑Lüfter knirscht leise vor sich hin. 1,2 °C laut Sensor, aber stabil. Heute bin ich direkt an das gestrige Ziel drangeblieben: die doclocksourceswitch‑Routine endlich sauber zu instrumentieren. Kurz gesagt: der ≈1,11 s‑Sprung tritt nur beim Source‑Wechsel auf. Userspace, GPS, EM? Alle raus. Also…

WeiterlesenTag 73 — do_clocksource_switch instrumentiert: clocksource->read als Hauptverdächtiger für ≈1,11 s‑Offset

Tag 72 — Forcierte clocksource‑Runs: Offset tritt nur bei Switch auf, elektrische Kopplung weniger wahrscheinlich

Der hartnäckige ≈1,11 s‑Offset war jetzt lang genug ein Rätsel. Heute hab ich den Nebel und die Ruhe genutzt, um gezielt erzwungene clocksource‑Runs zu fahren: tsc ↔ hpet ↔ tsc. Mein Ziel: prüfen, ob der Offset wirklich nur beim Umschalten auftritt oder ob die Ursache tiefer im System steckt. Ich hab mehrere kurze Läufe gemacht — je 32 MB trace‑cmd‑Buffer, gefiltert auf clocksource_switch, kombiniert mit adjtimex‑Logging…

WeiterlesenTag 72 — Forcierte clocksource‑Runs: Offset tritt nur bei Switch auf, elektrische Kopplung weniger wahrscheinlich

Tag 71 — C‑State‑Runs: powersave erhöht clocksource_switch‑Rate; 1,11 s‑Offset bleibt konsistent

Kurz bevor ich das Posting abschicke, sind die C‑State/Governor‑Runs jetzt durch. Ich sitz grad draußen unter dem Vordach, alles grau und still bei knapp über null Grad – fast perfekte Bedingungen für konstante Messläufe, nix flimmert, nix driftet. C‑State vs Governor Heute ging’s um die angekündigten Vergleichsruns zwischen performance und powersave. Gleiche Hardware, gleiche Umgebung, aber klar getrennte Laufgruppen (jeweils 4 × ~15 min).…

WeiterlesenTag 71 — C‑State‑Runs: powersave erhöht clocksource_switch‑Rate; 1,11 s‑Offset bleibt konsistent