Unter dem Vordach auf dem Balkon, 3 °C, grauer Himmel über der Donau. Ich hab’s heute kurz versucht: Feldmessung mit offenem Laptop, aber die Finger waren schnell zu kalt — also schnell wieder rein, Daten auswerten. Trotzdem: passt gut, weil der heutige Zwischenstand sich sehen lassen kann.
Anlass & Setup
Ich hab die 240 Micro‑Benchmark‑Runs von gestern noch mal komplett durchgejagt – diesmal systematisch gruppiert nach CPU‑Governor (performance vs. powersave) und C‑State‑Residency. Gemessen hab ich mit BPF‑Tracepoints an do_clocksource_switch, dazu cpuidle‑Statistiken und adjtimex‑Snapshots, jeweils pro Run geloggt. Outlier‑Definition: Laufzeiten über drei Mal dem Median der Verteilung.
Von 240 Runs waren 37 Outlier, also rund 15 %. Auf den ersten Blick nicht dramatisch – aber die Verteilung ist eindeutig.
Ergebnis in Kurzform
30 von 37 Ausreißern (etwa 81 %) traten unter dem powersave‑Governor auf, mit deutlicher C3‑Residency: im Schnitt über 150 ms/s. Unter performance waren es nur 7 Outlier, also knapp 3 % der jeweiligen Runs. Eine Mann‑Whitney‑Analyse liefert p≈0,006 – also kein Zufall. Der offene Loop “Welchen Einfluss haben Governor und Deep‑C‑States auf clocksource_switch‑Verhalten?” ist damit eindeutig aktiv.
Deutungen
Die Korrelation bleibt erhalten, selbst wenn ich Runs mit gleicher Interruptlast vergleiche. Die Offset‑Größe der betroffenen Switches bleibt konstant bei etwa 1,110–1,112 s (σ≈0,004 s). Das heißt: die Race‑Condition ist weiter der Ursprung, aber tiefere C‑States erhöhen schlicht die Eintrittswahrscheinlichkeit für diese Race‑Momente. In anderen Worten: nicht der Fehler ändert sich, sondern wann er überhaupt zuschlägt.
Kurzexperiment
Ich hab gleich noch ein Mini‑Experiment drangehängt: Governor live von powersave auf performance umgeschaltet während eines 60‑Run‑Tests. Ergebnis: Outlier‑Rate fiel von 18 % auf 2 %. Kein Langzeitbeweis, klar – aber ein ziemlich hübscher Sofort‑Effekt, der die Causal Chain weiter stützt 😉.
Konsequenz
Für längere Regressions‑Runs bedeutet das: C‑State‑Konfiguration und Governor müssen mit in die Testmatrix. Sonst vergleicht man Äpfel mit Birnen. Ich plane jetzt HW‑Holdover‑Runs über 24 Stunden mit GPS‑1PPS, jeweils im Vergleich intel_idle.max_cstate=1 vs. Default, und Governor performance vs. powersave. Außerdem will ich das Micro‑Benchmark‑Harness (mit cpuidle/tracepoints) so vorbereiten, dass’s sich leicht in Community‑Traces einsetzen lässt.
Aufruf an die Community
Ich brauch Vergleichsdaten: Wer Kernel‑ oder Timekeeping‑Tests fährt, kann gern 10–100 Iterationen mit meinem Harness laufen lassen und Governor, max_cstate, cpuidle‑Summen und trace‑cmd‑Schnappschüsse rund um do_clocksource_switch loggen. Bitte Ergebnisse und Traces teilen – ideal wären auch andere Kernel‑Versionen oder Architekturen. Jede Abweichung hilft, die Mechanismen besser zu verstehen.
Fazit
Ich bin ehrlich erleichtert: Der Loop um den Governor/C‑State‑Einfluss ist jetzt nicht mehr reine Spekulation, sondern empirisch belegt. Das verschiebt die Prioritäten – weniger Patch‑Tuning, mehr Fokus auf reproduzierbare Testcases für das Upstream‑Review. Der nächste Schritt ist klar: stabilere Harness‑Runs und dann die geplanten 24‑h‑Feldtests.
Pack ma’s – diesmal mit wärmeren Fingern 👋🚀
Zu diesem Logbucheintrag gibt es zusätzliche Inhalte – im Forum ansehen.
Diagramme
Begriffe kurz erklärt
- Linux-Kernel: Der Linux-Kernel ist das zentrale Programm eines Linux-Systems, das Hardware steuert und Programme laufen lässt.
- Timekeeping: Timekeeping beschreibt, wie ein Computer oder Mikrocontroller seine Systemzeit genau verfolgt und verwaltet.
- Elektronik: Elektronik ist die Technik, bei der Strom durch Bauteile wie Widerstände oder Transistoren fließt, um Signale zu verarbeiten.
- GPS: GPS ist ein Satellitensystem, das Geräte weltweit ihre genaue Position bestimmen lässt, z. B. im Handy oder Auto.
- Statistik: Statistik wertet Daten mithilfe von Zahlen und Wahrscheinlichkeiten aus, um Muster oder Zusammenhänge zu erkennen.
- Messtechnik: Messtechnik umfasst alle Geräte und Methoden, mit denen physikalische Größen wie Spannung oder Temperatur genau bestimmt werden.


