mbox series

[0/5] KVM: nSVM: few fixes for the nested migration

Message ID 20210503125446.1353307-1-mlevitsk@redhat.com (mailing list archive)
Headers show
Series KVM: nSVM: few fixes for the nested migration | expand

Message

Maxim Levitsky May 3, 2021, 12:54 p.m. UTC
Those are few fixes for issues I uncovered by doing variants of a
synthetic migration test I just created:

I modified the qemu, such that on each vm pause/resume cycle,
just prior to resuming a vCPU, qemu reads its KVM state,
then (optionaly) resets this state by uploading a
dummy reset state to KVM, and then it uploads back to KVM,
the state that this vCPU had before.

I'll try to make this test upstreamable soon, pending few details
I need to figure out.

Last patch in this series is for false positive warning
that I have seen lately when setting the nested state,
in nested_svm_vmexit, where it expects the vmcb01 to have
VMRUN vmexit, which is not true after nested migration,
as it is not fully initialized.
If you prefer the warning can be removed instead.

Best regards,
	Maxim Levitsky

Maxim Levitsky (5):
  KVM: nSVM: fix a typo in svm_leave_nested
  KVM: nSVM: fix few bugs in the vmcb02 caching logic
  KVM: nSVM: leave the guest mode prior to loading a nested state
  KVM: nSVM: force L1's GIF to 1 when setting the nested state
  KVM: nSVM: set a dummy exit reason in L1 vmcb when loading the nested
    state

 arch/x86/include/asm/kvm_host.h |  1 +
 arch/x86/kvm/svm/nested.c       | 29 ++++++++++++++++++++++++++---
 arch/x86/kvm/svm/svm.c          |  4 ++--
 3 files changed, 29 insertions(+), 5 deletions(-)

Comments

Paolo Bonzini May 3, 2021, 2:03 p.m. UTC | #1
On 03/05/21 14:54, Maxim Levitsky wrote:
> Those are few fixes for issues I uncovered by doing variants of a
> synthetic migration test I just created:
> 
> I modified the qemu, such that on each vm pause/resume cycle,
> just prior to resuming a vCPU, qemu reads its KVM state,
> then (optionaly) resets this state by uploading a
> dummy reset state to KVM, and then it uploads back to KVM,
> the state that this vCPU had before.
> 
> I'll try to make this test upstreamable soon, pending few details
> I need to figure out.
> 
> Last patch in this series is for false positive warning
> that I have seen lately when setting the nested state,
> in nested_svm_vmexit, where it expects the vmcb01 to have
> VMRUN vmexit, which is not true after nested migration,
> as it is not fully initialized.
> If you prefer the warning can be removed instead.
> 
> Best regards,
> 	Maxim Levitsky
> 
> Maxim Levitsky (5):
>    KVM: nSVM: fix a typo in svm_leave_nested
>    KVM: nSVM: fix few bugs in the vmcb02 caching logic
>    KVM: nSVM: leave the guest mode prior to loading a nested state
>    KVM: nSVM: force L1's GIF to 1 when setting the nested state
>    KVM: nSVM: set a dummy exit reason in L1 vmcb when loading the nested
>      state
> 
>   arch/x86/include/asm/kvm_host.h |  1 +
>   arch/x86/kvm/svm/nested.c       | 29 ++++++++++++++++++++++++++---
>   arch/x86/kvm/svm/svm.c          |  4 ++--
>   3 files changed, 29 insertions(+), 5 deletions(-)
> 

Queued patches 1-3.

Paolo