KVM: x86: update masterclock values on TSC writes
authorMarcelo Tosatti <mtosatti@redhat.com>
Tue, 4 Nov 2014 23:30:44 +0000 (21:30 -0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Mar 2015 22:40:52 +0000 (14:40 -0800)
commitb7e4884e64bcfefd359812a96505ecfa67c3ce8d
treeee063ddaa97f09329506f06e9c00defc53501e25
parentef6bb317ad2f9fc585fcb87e6393763ea9850265
KVM: x86: update masterclock values on TSC writes

commit 7f187922ddf6b67f2999a76dcb71663097b75497 upstream.

When the guest writes to the TSC, the masterclock TSC copy must be
updated as well along with the TSC_OFFSET update, otherwise a negative
tsc_timestamp is calculated at kvm_guest_time_update.

Once "if (!vcpus_matched && ka->use_master_clock)" is simplified to
"if (ka->use_master_clock)", the corresponding "if (!ka->use_master_clock)"
becomes redundant, so remove the do_request boolean and collapse
everything into a single condition.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kvm/x86.c