mbox series

[0/8] KVM: nSVM: ondemand nested state allocation + smm fixes

Message ID 20200827170434.284680-1-mlevitsk@redhat.com (mailing list archive)
Headers show
Series KVM: nSVM: ondemand nested state allocation + smm fixes | expand

Message

Maxim Levitsky Aug. 27, 2020, 5:04 p.m. UTC
This patch series does some refactoring and implements on demand nested state area
This way at least guests that don't use nesting won't waste memory
on nested state.

This patch series is based on patch series '[PATCH 0/3] Few nSVM bugfixes'
(patch #7 here should have beeing moved there as well to be honest)

The series was tested with various nested guests, and it seems to work
as long as I disable the TSC deadline timer (this is unrelated to this
patch series)

I addressed the review feedback from V2, and added few refactoring
patches to this series as suggested.

Best regards,
        Maxim Levitsky

Maxim Levitsky (8):
  KVM: SVM: rename a variable in the svm_create_vcpu
  KVM: nSVM: rename nested vmcb to vmcb12
  KVM: SVM: refactor msr permission bitmap allocation
  KVM: SVM: use __GFP_ZERO instead of clear_page
  KVM: SVM: refactor exit labels in svm_create_vcpu
  KVM: x86: allow kvm_x86_ops.set_efer to return a value
  KVM: emulator: more strict rsm checks.
  KVM: nSVM: implement ondemand allocation of the nested state

 arch/x86/include/asm/kvm_host.h |   2 +-
 arch/x86/kvm/emulate.c          |  22 ++-
 arch/x86/kvm/svm/nested.c       | 267 ++++++++++++++++++--------------
 arch/x86/kvm/svm/svm.c          | 106 +++++++------
 arch/x86/kvm/svm/svm.h          |  10 +-
 arch/x86/kvm/vmx/vmx.c          |   9 +-
 arch/x86/kvm/x86.c              |   3 +-
 7 files changed, 243 insertions(+), 176 deletions(-)

Comments

Maxim Levitsky Aug. 27, 2020, 5:12 p.m. UTC | #1
On Thu, 2020-08-27 at 20:04 +0300, Maxim Levitsky wrote:
> This patch series does some refactoring and implements on demand nested state area
> This way at least guests that don't use nesting won't waste memory
> on nested state.
> 
> This patch series is based on patch series '[PATCH 0/3] Few nSVM bugfixes'
> (patch #7 here should have beeing moved there as well to be honest)
> 
> The series was tested with various nested guests, and it seems to work
> as long as I disable the TSC deadline timer (this is unrelated to this
> patch series)
> 
> I addressed the review feedback from V2, and added few refactoring
> patches to this series as suggested.
> 
> Best regards,
>         Maxim Levitsky
> 
> Maxim Levitsky (8):
>   KVM: SVM: rename a variable in the svm_create_vcpu
>   KVM: nSVM: rename nested vmcb to vmcb12
>   KVM: SVM: refactor msr permission bitmap allocation
>   KVM: SVM: use __GFP_ZERO instead of clear_page
>   KVM: SVM: refactor exit labels in svm_create_vcpu
>   KVM: x86: allow kvm_x86_ops.set_efer to return a value
>   KVM: emulator: more strict rsm checks.
>   KVM: nSVM: implement ondemand allocation of the nested state
> 
>  arch/x86/include/asm/kvm_host.h |   2 +-
>  arch/x86/kvm/emulate.c          |  22 ++-
>  arch/x86/kvm/svm/nested.c       | 267 ++++++++++++++++++--------------
>  arch/x86/kvm/svm/svm.c          | 106 +++++++------
>  arch/x86/kvm/svm/svm.h          |  10 +-
>  arch/x86/kvm/vmx/vmx.c          |   9 +-
>  arch/x86/kvm/x86.c              |   3 +-
>  7 files changed, 243 insertions(+), 176 deletions(-)
> 
> -- 
> 2.26.2
> 
Ignore this one, I send this with wrong version.