diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2018-11-25 18:45:35 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2018-11-27 12:53:43 +0100 |
commit | 45c3af974ec6c22d7392e15eb5d755e3c0079bd1 (patch) | |
tree | 277efea56262b213fed6dbc68d1879219368c10a /arch/x86/kvm/svm.c | |
parent | fd65d3142f734bc4376053c8d75670041903134d (diff) | |
download | lwn-45c3af974ec6c22d7392e15eb5d755e3c0079bd1.tar.gz lwn-45c3af974ec6c22d7392e15eb5d755e3c0079bd1.zip |
KVM: x86: Trace changes to active TSC offset regardless if vCPU in guest-mode
For some reason, kvm_x86_ops->write_l1_tsc_offset() skipped trace
of change to active TSC offset in case vCPU is in guest-mode.
This patch changes write_l1_tsc_offset() behavior to trace any change
to active TSC offset to aid debugging. The VMX code is changed to
look more similar to SVM, which is in my opinion nicer.
Based on a patch by Liran Alon.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/svm.c')
-rw-r--r-- | arch/x86/kvm/svm.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index cc6467b35a85..d7fec9f4af43 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -1456,10 +1456,11 @@ static u64 svm_write_l1_tsc_offset(struct kvm_vcpu *vcpu, u64 offset) g_tsc_offset = svm->vmcb->control.tsc_offset - svm->nested.hsave->control.tsc_offset; svm->nested.hsave->control.tsc_offset = offset; - } else - trace_kvm_write_tsc_offset(vcpu->vcpu_id, - svm->vmcb->control.tsc_offset, - offset); + } + + trace_kvm_write_tsc_offset(vcpu->vcpu_id, + svm->vmcb->control.tsc_offset - g_tsc_offset, + offset); svm->vmcb->control.tsc_offset = offset + g_tsc_offset; |