On Thu, Feb 08, 2018 at 04:32:29PM +1300, Jonathan Matthew wrote:
> This diff (most of which has been around for a while) changes delay_func
> when running in KVM to use pvclock (effectively the TSC) to determine when to
> stop spinning.  Since this is done in a KVM-specific driver, it won't have
> any effect anywhere other than in KVM guests.
> 
> Using pvclock rather than the lapic avoids the hangs caused by KVM's use of
> the VMX preemption timer to emulate a lapic.  To summarise that problem:
> occasionally KVM fails to restart the lapic timer until it gets an exit from
> the guest, and if we're busy polling the lapic, we'll never generate such an
> exit, and the lapic counter will never reach the value we're waiting for, at
> which point we're stuck.

>From my understanding of your explanation, that fixes the hangs i was
seeing with KVM vms, hangs which were worked around by disabling the
host 'preemption timer' via putting kvm-intel.preemption_timer=0 on the
host kernel commandline.. so if i get it right, once this diff is in, no
need for this workaround on the host ? Correct ?

> A couple of testers have confirmed that this does *not* fix the time slowdowns
> seen on KVM guests.  I believe fixing that will require more invasive changes.

Sign me up for testing those changes then !
Thanks for your work on it :)

Landry

Reply via email to