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