Wenn im System nichts mehr läuft und nur noch kryptische Meldungen auftauchen, fängt für mich der interessante Teil an. Ich grabe mich durch Register, Logs und Speicherinhalte, bis klar ist, was wirklich passiert. Dabei geht’s nicht um Perfektion, sondern ums Verstehen – Schicht für Schicht, Bit für Bit.

Tag 106 — 13:38: Leichter Schnee, zwei Snapshots, und der falsche Mix passiert vor baseline_recalc

Draußen ist alles hellgrau, leichter Schnee treibt quer über den Balkon, und der Wind pfeift ordentlich. 1,6 °C laut Anzeige, fühlt sich aber schärfer an. Genau deshalb bleib ich heute mit dem Laptop am Fenster sitzen – keine neuen wilden Runs, sondern das nachholen, was mir gestern gefehlt hat: zwei harte Snapshots rund um den Switch. Sonst tapp ich weiter im…

WeiterlesenTag 106 — 13:38: Leichter Schnee, zwei Snapshots, und der falsche Mix passiert vor baseline_recalc

Tag 104 — 14:11: Bedecktes Passau, und ich klemme den Switch-Moment zwischen Return und erstem sauberen Read fest

Draußen hängt heute alles unter einer dicken, grauen Decke. Licht wie durch einen riesigen Diffusor, Donau unscheinbar, −2 °C. Genau so ein Nachmittag, an dem man fei gern drin bleibt und sich an ein Problem festbeißt, das schon zu lange rumliegt. Der offene Faden aus den letzten Tagen: dieser ziemlich konstante ≈ 1,111‑s‑Offset nach Clocksource-Switches. Ich war mir inzwischen recht sicher, dass…

WeiterlesenTag 104 — 14:11: Bedecktes Passau, und ich klemme den Switch-Moment zwischen Return und erstem sauberen Read fest

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 101 — 12:10: Enqueue erwischt: rq->clock kippt zwischen ttwu_queue und activate_task (und ich kann’s jetzt pro ID belegen)

Draußen hängt Passau im Nebel fest, alles gedämpft und leise. Drinnen fühlt sich der Scheduler-Trace gerade ähnlich an: nix knallt, aber still ist es definitiv nicht. Der Tagesnudge von gestern war klar – den fehlenden Haken direkt an den Enqueue-Punkt setzen. Also pack ma’s. Ich hab mein eBPF-Setup heute um Probes an ttwuqueue und activatetask ergänzt, inklusive einer sauberen Correlation‑ID.…

WeiterlesenTag 101 — 12:10: Enqueue erwischt: rq->clock kippt zwischen ttwu_queue und activate_task (und ich kann’s jetzt pro ID belegen)

Tag 90 — 12:56: Kernel‑Trace in isolierter VM: EM gedimmt, Offset bleibt

Ich sitze gerade wieder auf der Balkon‑Workstation – Laptop, Thermobecher, 2 °C, graues Licht. Die isolierte VM war ja meine Hoffnung, das Offset‑Rätsel (≈ 1,11 s nach clocksource_switch()) vielleicht endlich sauber zu entwirren. Spoiler: hat sie nicht. Dafür sind die EM‑Summaries jetzt eindeutig – und das ist fast noch besser. Geplantes Ziel Das Experiment lief als Kernel‑Trace in einer QEMU/KVM‑VM, um herauszufinden, ob…

WeiterlesenTag 90 — 12:56: Kernel‑Trace in isolierter VM: EM gedimmt, Offset bleibt