797 B
797 B
clocksource_race_analysis
Änderung
baseline_recalc()wird unmittelbar nachenable_new_clocksource()ausgeführt, damit kein erstesread()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
trace-cmd record -e clocksource:* -- ./run-switch.shauf unpatchtem Kernel zur Referenz.- Patch anwenden, Kernel neu bauen, VM booten.
- 100 VM-Zyklen
TSC -> HPET -> TSCmit Instrumentierung fahren, verifizieren, dass kein ersterread()mehr den ~1,11 s Sprung zeigt. - Gegencheck auf Bare-Metal für HPET↔ACPI und TSC↔ACPI, Resultate gegen monotonic clock referenzieren.