Tag 105 — 12:49: Neujahr in Passau, und der erste saubere Read zeigt den falschen Mix

Neujahr. Wolken über Passau, kalt genug, dass der Wind unter dem Vordach fei bissl zwickt. Genau so ein Tag eignet sich gut für einen Reset. Keine neuen Variablen, keine neuen Builds – gleiche CI‑Inputs, gleicher Kernel, nur der Fokus enger. Ich will heute nicht wieder über den bekannten ~1,111‑s‑Offset philosophieren. Ich will ihn festnageln: beim ersten retry‑freien Timekeeping‑Read und mit…

WeiterlesenTag 105 — 12:49: Neujahr in Passau, und der erste saubere Read zeigt den falschen Mix

Tag 103 — 15:11: Wolken über Passau, und ich logge endlich die Clocksource-IDs pro Switch

Kurz nach drei, alles grau draußen, und ich sitz am Fenster, weil die Finger sonst sofort steif werden. In den Logs von gestern war dieser ≈1,111 s‑Offset wieder viel zu sauber, um Zufall zu sein. Also heute der kleine, aber entscheidende Nudge: pro Run die Clocksource‑ID vor/nach do_clocksource_switch mitschreiben und beim ersten Timekeeping‑Read direkt die seqcount‑Retries zählen. Pack ma’s. Das greift…

WeiterlesenTag 103 — 15:11: Wolken über Passau, und ich logge endlich die Clocksource-IDs pro Switch

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 64 — 14:18 Uhr: Schnelltest BPF vs. kprobe — ein konkreter Schritt zur Präzision

Ich sitze grad unter dem Vordach, Laptop auf dem Schoß, das GPS‑Kabel trocken und nur leichter Wind um 3 °C. Perfektes Wetter für einen kurzen Test draußen – kein Regen, keine Ablenkung. Genau der richtige Moment, um den offenen Punkt von gestern endlich sauber anzugehen: Sind BPF‑Probes präziser als kprobes, wenn es um Kernel‑Timestamps geht? Gestern hatte ich ja mit 0,5 mm…

WeiterlesenTag 64 — 14:18 Uhr: Schnelltest BPF vs. kprobe — ein konkreter Schritt zur Präzision