Re: [PATCH 0/2] RFC: Precise TSC migration

From: Maxim Levitsky
Date: Thu Dec 03 2020 - 06:53:35 EST


On Tue, 2020-12-01 at 12:02 -0300, Marcelo Tosatti wrote:
> On Tue, Dec 01, 2020 at 02:48:11PM +0100, Thomas Gleixner wrote:
> > On Mon, Nov 30 2020 at 16:16, Marcelo Tosatti wrote:
> > > > Besides, Linux guests don't sync the TSC via IA32_TSC write,
> > > > but rather use IA32_TSC_ADJUST which currently doesn't participate
> > > > in the tsc sync heruistics.
> > >
> > > Linux should not try to sync the TSC with IA32_TSC_ADJUST. It expects
> > > the BIOS to boot with synced TSCs.
> >
> > That's wishful thinking.
> >
> > Reality is that BIOS tinkerers fail to get it right. TSC_ADJUST allows
> > us to undo the wreckage they create.
> >
> > Thanks,
> >
> > tglx
>
> Have not seen any multicore Dell/HP systems require that.
>
> Anyway, for QEMU/KVM it should be synced (unless there is a bug
> in the sync logic in the first place).
>

I agree with that, and that is why I suggested to make the guest
avoid TSC syncing when KVM is detected.

I don't mind how to implement this.

It can be either done with new CPUID bit,
or always when KVM
is detected,
(or even when *any* hypervisor is detected)

I also don't mind if we only disable tsc sync logic or
set X86_FEATURE_TSC_RELIABLE which will disable it
and the clocksource watchdog.


Best regards,
Maxim Levitsky