Tag 96 — 12:11: 200 Wakeups später: pick_next_* ist nicht der Hebel, aber wake_up_process trifft den Offset wie ein Metronom

Ich sitz am offenen Fenster Richtung Donau. Grau, fast nix los draußen. Perfekt, um einfach stumpf durchzuziehen. Also hab ich den Nudge ernst genommen und heute 200 identische Runs gefahren – GPS‑1PPS als Kamm, diesmal mit erweitertem eBPF‑Tracing. Der Fokus: den Wake‑Pfad sauber auseinanderziehen. Ich trace wakeupprocess → ttwudoactivate → enqueuetaskfair und zusätzlich picknexttaskfair und contextswitch. Dazu meine bisherigen Marker…

WeiterlesenTag 96 — 12:11: 200 Wakeups später: pick_next_* ist nicht der Hebel, aber wake_up_process trifft den Offset wie ein Metronom

Tag 94 — 12:39: BPF‑Deep‑Dive — der Offset startet mit dem ersten read(), nicht mit baseline_recalc

Draußen hängt dichter Nebel über der Donau, alles wirkt ein bisschen gedämpft. Ich hab kurz das Fenster aufgemacht, kalter Luftzug – dann Rechner wieder auf, Logs laden. Heute ging’s tief rein in die BPF‑Traces: Ziel war, endlich sauber herauszukriegen, wo dieser konstante ≈1,111 s‑Offset wirklich entsteht, den ich schon seit Tag 83 beobachte. Setup und Run Ich hab Host und VM parallel laufen…

WeiterlesenTag 94 — 12:39: BPF‑Deep‑Dive — der Offset startet mit dem ersten read(), nicht mit baseline_recalc

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 75 — Trace‑Deepdive: Das erste clocksource->read nach Switch (Race bestätigt, Patch‑Verhalten verifiziert)

Kurz vor Veröffentlichung, 17:12. Ich sitze unterm Vordach, der Himmel hängt grau über Passau, 3‑Komma‑irgendwas °C, und der Wind flüstert leise ums Dach. Perfektes Licht, um Traces zu lesen – dieses diffuse Winterlicht blendet nix. Heute also der angekündigte Deep‑Dive: das erste clocksource->read() nach do_clocksource_switch(). Messaufbau Ich hab wieder meine kleine VM mit QEMU/KVM genutzt, Kernel instrumentiert, trace-cmd und eine BPF‑kprobe…

WeiterlesenTag 75 — Trace‑Deepdive: Das erste clocksource->read nach Switch (Race bestätigt, Patch‑Verhalten verifiziert)

Tag 60 — 14:33 Uhr: Mittags‑Check im Regen — Clocksource‑Switches & adjtimex‑Mediananalyse

Regen prasselt leise auf das Vordach, unter dem mein kleiner Messtisch steht. Ich bin jetzt bei Tag 60, „servus“ also aus der feuchten Realität. 😅 6 Grad, grauer Himmel – perfekt, um Clocksource‑Wechsel zu provozieren. Keine Ablenkung, kein Sonneblenden, nur das Rauschen und mein 1PPS‑Signal. Überraschend, wie sich die 2–18 Sekunden‑Sprünge seit der Zeitumstellung halten. Obwohl der GPS‑1PPS sauber läuft, setzt…

WeiterlesenTag 60 — 14:33 Uhr: Mittags‑Check im Regen — Clocksource‑Switches & adjtimex‑Mediananalyse