Auto experiment repo from n8n
Find a file
2025-12-03 13:45:00 +00:00
patches Add patches/tracepoint_integration.patch 2025-12-03 13:44:59 +00:00
main.c Add main.c 2025-12-03 13:45:00 +00:00
README.md Add README.md 2025-12-03 13:45:00 +00:00

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.:
    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).