Messages in this thread | | | From | Vitaly Kuznetsov <> | Subject | Re: [PATCH v2 1/3] KVM: x86: implement KVM_{GET|SET}_TSC_STATE | Date | Mon, 07 Dec 2020 14:16:15 +0100 |
| |
Maxim Levitsky <mlevitsk@redhat.com> writes:
> > But other than that I don't mind making TSC offset global per VM thing. > Paulo, what do you think about this? >
Not Paolo here but personally I'd very much prefer we go this route but unsynchronized TSCs are, unfortunately, still a thing: I was observing it on an AMD Epyc server just a couple years ago (cured with firmware update). 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).
Another thing to this bucket is kvmclock which is currently per-cpu. If we forbid TSC to un-synchronize (he-he), there is no point in doing that. We can as well use e.g. Hyper-V TSC page method which is per-VM. Creating another PV clock in KVM may be a hard sell as all modern x86 CPUs support TSC scaling (in addition to TSC offsetting which is there for a long time) and when it's there we don't really need a PV clock to make migration possible.
-- Vitaly
| |