# clocksource_race_analysis ## Änderung - `baseline_recalc()` wird unmittelbar nach `enable_new_clocksource()` ausgeführt, damit kein erstes `read()` mehr auf die alte Baseline zugreift. - `smp_wmb()` stellt sicher, dass locklose Leser die neue Baseline sehen, bevor sie den Offset interpretieren. - Der Workqueue-Refresh bleibt aktiv, dient jetzt aber nur noch als Hintergrund-Sanity-Check. ## Testplan 1. `trace-cmd record -e clocksource:* -- ./run-switch.sh` auf unpatchtem Kernel zur Referenz. 2. Patch anwenden, Kernel neu bauen, VM booten. 3. 100 VM-Zyklen `TSC -> HPET -> TSC` mit Instrumentierung fahren, verifizieren, dass kein erster `read()` mehr den ~1,11 s Sprung zeigt. 4. Gegencheck auf Bare-Metal für HPET↔ACPI und TSC↔ACPI, Resultate gegen monotonic clock referenzieren.