From 710f32db22a2a181a641f488b5ca569f8599786b Mon Sep 17 00:00:00 2001 From: Mika Date: Wed, 3 Dec 2025 13:45:00 +0000 Subject: [PATCH] Add README.md --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..c8958a2 --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# 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).