Messages in this thread |  | | Subject | Re: [PATCH 1/2] X86/KVM: Properly update 'tsc_offset' to represent the running guest | From | Paolo Bonzini <> | Date | Fri, 13 Apr 2018 18:04:26 +0200 |
| |
On 13/04/2018 18:02, Jim Mattson wrote: > On Fri, Apr 13, 2018 at 4:23 AM, Paolo Bonzini <pbonzini@redhat.com> wrote: >> From: KarimAllah Ahmed <karahmed@amazon.de> >> >> Update 'tsc_offset' on vmenty/vmexit of L2 guests to ensure that it always >> captures the TSC_OFFSET of the running guest whether it is the L1 or L2 >> guest. >> >> Cc: Jim Mattson <jmattson@google.com> >> Cc: Paolo Bonzini <pbonzini@redhat.com> >> Cc: Radim Krčmář <rkrcmar@redhat.com> >> Cc: kvm@vger.kernel.org >> Cc: linux-kernel@vger.kernel.org >> Suggested-by: Paolo Bonzini <pbonzini@redhat.com> >> Signed-off-by: KarimAllah Ahmed <karahmed@amazon.de> >> [AMD changes, fix update_ia32_tsc_adjust_msr. - Paolo] >> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > >> @@ -11489,6 +11497,9 @@ static int nested_vmx_run(struct kvm_vcpu *vcpu, bool launch) >> if (enable_shadow_vmcs) >> copy_shadow_to_vmcs12(vmx); >> >> + if (vmcs12->cpu_based_vm_exec_control & CPU_BASED_USE_TSC_OFFSETING) >> + vcpu->arch.tsc_offset += vmcs12->tsc_offset; >> + > > This seems a little early, since we don't restore the L1 TSC offset on > the nested_vmx_failValid path. >
Now this can be a nice one to introduce the VMX API tests. :) I'll try to do it on Monday as punishment for not noticing the bug. In the meanwhile, Karim, can you post a fixed fixed version?
Paolo
|  |