Message ID | 20210114205449.8715-1-mlevitsk@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | VMX: more nested fixes | expand |
On 14/01/21 21:54, Maxim Levitsky wrote: > This is hopefully the last fix for VMX nested migration > that finally allows my stress test of migration with a nested guest to pass. > > In a nutshell after an optimization that was done in commit 7952d769c29ca, > some of vmcs02 fields which can be modified by the L2 freely while it runs > (like GSBASE and such) were not copied back to vmcs12 unless: > > 1. L1 tries to vmread them (update done on intercept) > 2. vmclear or vmldptr on other vmcs are done. > 3. nested state is read and nested guest is running. > > What wasn't done was to sync these 'rare' fields when L1 is running > but still has a loaded vmcs12 which might have some stale fields, > if that vmcs was used to enter a guest already due to that optimization. > > Plus I added two minor patches to improve VMX tracepoints > a bit. There is still a large room for improvement. > > Best regards, > Maxim Levitsky > > Maxim Levitsky (3): > KVM: nVMX: Always call sync_vmcs02_to_vmcs12_rare on migration > KVM: nVMX: add kvm_nested_vmlaunch_resume tracepoint > KVM: VMX: read idt_vectoring_info a bit earlier > > arch/x86/kvm/trace.h | 30 ++++++++++++++++++++++++++++++ > arch/x86/kvm/vmx/nested.c | 19 ++++++++++++++----- > arch/x86/kvm/vmx/vmx.c | 3 ++- > arch/x86/kvm/x86.c | 1 + > 4 files changed, 47 insertions(+), 6 deletions(-) > I committed patch 1 since I need to send it out to Linus quite soonish, but please adjust and resend the others based on Sean's review. Paolo