Skip to content

Sorting TSC When Your Firmware Is Broken

On every boot for four months my ThinkPad E595 handed Linux one CPU core three seconds behind the other seven, and the kernel dropped the TSC for HPET. What the warning means, why an AMD Zen machine has no way to repair it from inside Linux, what 40 boots of journal say about the firmware, why tsc=reliable is the wrong answer, and how tscsync measures and moves the counters in UEFI before the kernel ever sees them, including the one core it marked BAD that Linux accepted anyway. Updated for BIOS 1.30: it does not fix the offset, and the kernel’s clocksource watchdog dropped the TSC on two boots even after tscsync synced the cores. With tsc=nowatchdog it held, and a five-minute check against the real-time clock, source included, found no warps and no drift. Last, what the fallback does on any KVM hypervisor, Proxmox or not: the master clock goes, guests lose their fast clock read, and on this laptop a guest clock read came out seven times slower.

11th October 2026 Β· 23 min Β· 5099 words Β· Damien Dye