KVM: x86: move steal time initialization to vcpu entry time
authorMarcelo Tosatti <mtosatti@redhat.com>
Wed, 14 Oct 2015 22:33:09 +0000 (19:33 -0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 16 Oct 2015 08:34:16 +0000 (10:34 +0200)
commit7cae2bedcbd4680b155999655e49c27b9cf020fa
treedbcb58f0bfaef1337e187710a2a039aa6793e787
parent5225fdf8c8bea4418f69875804584c89a27c170e
KVM: x86: move steal time initialization to vcpu entry time

As reported at https://bugs.launchpad.net/qemu/+bug/1494350,
it is possible to have vcpu->arch.st.last_steal initialized
from a thread other than vcpu thread, say the iothread, via
KVM_SET_MSRS.

Which can cause an overflow later (when subtracting from vcpu threads
sched_info.run_delay).

To avoid that, move steal time accumulation to vcpu entry time,
before copying steal time data to guest.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Reviewed-by: David Matlack <dmatlack@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/x86.c