Auto experiment repo from n8n
| patches | ||
| main.c | ||
| README.md | ||
Tracepoint Integration Overview
Ziel
Der Patch ergänzt do_clocksource_switch() um einen Tracepoint, der drei Timestamps (Switch, Baseline-Recalc, Read) erfasst. Damit lassen sich Race-Zustände zwischen Veröffentlichung der neuen Clocksource und dem ersten read() quantifizieren.
Anwendung
- Patch anwenden und Kernel neu bauen/installieren.
- Tracing aktivieren, z. B.:
trace-cmd record -e clocksource_switch:clocksource_switch_latency sleep 5 trace-cmd report - Die Ausgabe liefert die Nanosekundenwerte der drei Messpunkte pro Switch.
Datenfelder (struct trace_point_data)
| Feld | Beschreibung |
|---|---|
timestamp_switch |
Zeitpunkt des eigentlichen Clocksource-Switches. |
timestamp_baseline_recalc |
Zeitpunkt, an dem die neue Baseline fertig berechnet ist. |
timestamp_read |
Zeitpunkt des ersten Clocksource-Reads nach dem Switch. |
Hinweise
- Fehlende Messpunkte werden automatisch mit dem zuletzt bekannten Timestamp aufgefüllt, damit der Tracepoint stets vollständige Daten liefert.
- Ideal für Benchmarks, die Reihenfolge und Latenz zwischen Switch/Baseline/Readoffset analysieren sollen (z. B. C-State- oder Governor-Experimente).