KVM: x86: TSC catchup mode
authorZachary Amsden <zamsden@redhat.com>
Sun, 19 Sep 2010 00:38:15 +0000 (14:38 -1000)
committerAvi Kivity <avi@redhat.com>
Sun, 24 Oct 2010 08:53:05 +0000 (10:53 +0200)
commitc285545f813d7b0ce989fd34e42ad1fe785dc65d
tree34c5aa4febe52e14e96d03b1a4f719ef9b357c85
parent34c238a1d1832d7b1f655641f52782e86396b30a
KVM: x86: TSC catchup mode

Negate the effects of AN TYM spell while kvm thread is preempted by tracking
conversion factor to the highest TSC rate and catching the TSC up when it has
fallen behind the kernel view of time.  Note that once triggered, we don't
turn off catchup mode.

A slightly more clever version of this is possible, which only does catchup
when TSC rate drops, and which specifically targets only CPUs with broken
TSC, but since these all are considered unstable_tsc(), this patch covers
all necessary cases.

Signed-off-by: Zachary Amsden <zamsden@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/x86.c