On 07/12/20 18:41, Thomas Gleixner wrote:
Right this happens still occasionally, but for quite some time this is 100% firmware sillyness and not a fundamental property of the hardware anymore.
It's still a fundamental property of old hardware. Last time I tried to kill support for processors earlier than Core 2, I had to revert it. That's older than Nehalem.
We try to catch such situation in KVM instead of blowing up but this may still result in subtle bugs I believe. Maybe we would be better off killing all VMs in case TSC ever gets unsynced (by default).
I just ran a guest on an old machine with unsynchronized TSCs and was able to observe clock monotonic going backwards between two threads pinned on two vCPUs, which _is_ bad. Getting unsynced clocks reliably under control is extremly hard.
Using kvmclock? (Half serious: perhaps a good reason to have per-vCPU offsets is to be able to test what happens with unsynchronized TSCs...).
Paolo