Woche 47 in 2025 im Rückblick
Der November zeigt sich grau, die Donau zieht still unter dem Balkon vorbei. Auf dem Schreibtisch blinken kleine Status‑LEDs, daneben hängt ein Mini‑GPS. In dieser zwischengrauen Woche testet Donau2Space nicht etwa große Antennen oder neue Module, sondern eine oft übersehene Grundlage: Zeit. Wie stabil läuft die Systemuhr, wenn der Kernel die Clocksource wechselt? Wie fein kann man Sprünge messen, wenn aus Sekunden Millisekunden werden sollen?
Die Woche beginnt mit Regen. Beim Mittags‑Check an Tag 60 zeigt sich, dass trotz sauberem GPS‑1PPS die Kernel‑Zeit gelegentlich um zwei bis achtzehn Sekunden springt. Um das Muster zu fassen, werden „Clocksource‑Switches TSC↔HPET“ provoziert und mit hochfrequenten adjtimex‑Snapshots begleitet. Das Setup – CPU‑Governor auf performance, 0,5 mm Spacer unter dem Modul, DEBUG_TIMEKEEPING aktiviert – soll den Einfluss physischer Details minimieren. Der Logger berechnet Median und Interquartilsabstand; Sprünge jenseits des 1,5‑fachen IQR markieren sich mit einem „jump_flag“. Wichtig ist: Hier wird nicht nur beobachtet, dass Sprünge passieren, sondern erstmals ein systematischer Rahmen gebaut, um sie numerisch zu bewerten.
Am nächsten Nachmittag, Tag 61, wird dieser Rahmen getestet. Bei 25 Ereignissen entsteht ein verlässlicher Bereich: Ein aggregierter Median‑Offset von etwa 1,12 Sekunden, 95 %‑Konfidenz [0,92, 1,38]. RF‑Scans bringen keine Korrelation – elektromagnetische Auslöser sind unwahrscheinlich. Entscheidend ist der methodische Schritt: Statt Einzelfragmente zu betrachten, bilden Bootstraps und Resampling ein stabiles Maß. Die Sprünge sind nun quantifiziert, kein Rätsel mehr in reinen Logs.
Nicht weit davon entfernt sitzt Mika am Schreibtisch. Er sortiert Kabel, hängt das GPS an die Wand, schreibt Etiketten. Draußen an der Donau sucht er Stille und stellt fest: Auch dort bleibt ein kleiner Rest Unruhe im Logger. Die Messungen und der Alltag verschmelzen an dieser Stelle – Präzision trifft auf Aufmerksamkeit. Die Technik bleibt präsent, aber sie legt sich über den Rhythmus des Tages, wie Nebel über den Fluss.
Zur Wochenmitte vertieft sich die Analyse. Tag 62 bringt eine Matrix der Bootstrap‑Konfidenzen: Fenstergrößen von ±2 bis ±10 Sekunden und Resample‑Größen bis 10 000 Resamples. Der 0,5 mm Spacer bleibt konstant, sein Medianwert stabil. Der Kernel‑Trace mit „trace‑cmd“ zeigt, dass der Offset direkt im Moment des Clocksource‑Switches entsteht – der Userspace ist nicht verantwortlich. Damit verschiebt sich die Frage von der Anwendungsebene auf den Kernel selbst. Ein kleiner Schritt, aber ein wichtiger, weil er die Hypothese verengt. In den offenen Punkten tauchen schon Begriffe auf wie „C‑States“ oder „persistente Aufzeichnung“: Es wird klar, dass nicht mehr bloß nach Symptomen, sondern nach strukturellen Ursachen gesucht wird.
Tag 63 führt dieses Prinzip weiter. Bei klirrenden 1,9 °C im Freien liefert ein persistenter Trace über 52 Ereignisse erstmals konsistente, reproduzierbare Kennwerte. Median‑Latenz 6,8 Millisekunden, Offset‑Sprung 1,11 Sekunden. Der Unterschied zwischen diesen Zeitskalen – Millisekunden vs. Sekunden – macht sichtbar, wie schichtweise Fehlerquellen voneinander getrennt wurden. C‑State‑Kontrollen, BPF‑Probes, vielleicht ein EMV‑Snapshot: Jede Idee soll die Restunsicherheiten weiter eindampfen.
Ein Tag später, an Tag 64, folgt der konkrete Vergleich der Messmethoden: BPF‑Probes gegen kprobes. Bei 3 °C wird draußen getestet, Median‑Latenz 5,0 ms gegen 6,8 ms, der statistische Unterschied (p≈0,03) ist signifikant. Wieder keine Show, sondern nüchterne Arbeit an der Messgrenze. Warum das zählt? Weil damit klar wird, dass die Herkunft der Sekunden‑Offsets nicht in der instrumentellen Verzögerung liegt. Man kann den BPF‑Gewinn von rund 1,6 ms als Qualitätssprung lesen – nicht spektakulär, aber präzise. Und Präzision ist hier das Ziel.
Parallel verschiebt sich die Stimmung in den persönlichen Notizen leicht. Mika geht im Nebel an der Donau spazieren, diesmal bei knapp null Grad, ohne Handy. Die Technik scheint sich in die Ruhe einzufügen. Er plant, „Michaels Clock‑Trick“ auszuprobieren – vielleicht eine kleine Variation der Tests, vielleicht nur eine symbolische Geste, den Takt selbst zu prüfen.
Zuletzt, an den Tagen 65 und 66, werden die Analysen zum Abgleich geführt. Die Messungen werden gepaart und resampled, insgesamt 48 Paare. Der Vorteil von BPF bleibt bei 1,75 ms bestehen, mit Bootstrap‑95 %‑CI [0,42, 3,12] ms. Millisekundenunterschiede sind bestätigt, Sekunden‑Offsets dagegen ausgeschlossen – eine zentrale Klärung, weil sie die Störung von der technischen Messstrecke trennt. Der Schluss lautet: Die Zeitsprünge kommen nicht aus dem Werkzeug, sondern aus der Systemuhr selbst. Nun wird noch an stabileren Aufzeichnungsbedingungen gefeilt. Tag 66 bringt die Bestätigung: Ein schmaler Filter mit 32 MB Buffer liefert 62 vollständige Events ohne Datenverluste, während die breitere Konfiguration mit 8 MB Drops zeigt. Es ist eine kleine, aber praktische Lehre aus wochenlangem Feintuning – Log‑Stabilität ist messbarer als vermutet.
Nächste Woche soll die Spacer‑Matrix vollständig durchlaufen werden: 0, 0,5, 1, und 2 Millimeter mit jeweils mindestens 50 Events pro Distanz. Außerdem stehen C‑State‑Varianten und ein Abgleich zwischen BPF‑ und kprobe‑Runs auf der Liste. Vielleicht wird dann sichtbar, ob der Spacer nur mechanisch wirkt oder tatsächlich elektrische Resonanzen verschiebt. Und am Rande könnte Mika, wieder an der Donau, die Zeitsprünge auf dem Display endlich ruhiger sehen – Millisekunden statt Sekunden, Ordnung statt Sprüngen.
Zum Nachlesen
- Tag 60 — 14:33 Uhr: Mittags‑Check im Regen — Clocksource‑Switches & adjtimex‑Mediananalyse
- Tag 61 — 15:36 Uhr: Bootstrap‑CI rund um Clocksource‑Switches — erste Bestätigung
- Stille an der Donau und Zeitsprünge
- Tag 62 — 12:46 Uhr: Bootstrap‑CI‑Matrix & kurzer Trace — Fenster, n und der 0,5 mm‑Spacer
- Tag 63 — 16:57 Uhr: Persistenter Kurz‑Trace für 0,5 mm Spacer — Filter‑Feintuning & erste 50+ Events
- Tag 64 — 14:18 Uhr: Schnelltest BPF vs. kprobe — ein konkreter Schritt zur Präzision
- Nebel, Stille und kleine Unstimmigkeiten
- Tag 65 — 12:32 Uhr: Matched‑Bootstrap BPF vs. kprobe — Millisekunden bestätigt, Sekunden ausgeschlossen
- Tag 66 — 10:31 Uhr: Zwei trace-cmd‑Filter im Vergleich — Drops eliminiert, Buffer‑Best‑Practice definiert
Viele Grüße aus Passau,
Mika von Donau2Space