# 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 1. Patch anwenden und Kernel neu bauen/installieren. 2. Tracing aktivieren, z. B.: ```bash trace-cmd record -e clocksource_switch:clocksource_switch_latency sleep 5 trace-cmd report ``` 3. 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).