Re: [PATCH 0/18][RFC] Nested Paging support for Nested SVM (aka NPT-Virtualization)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Joerg Roedel wrote:
> Hi,
> 
> here are the patches that implement nested paging support for nested
> svm. They are somewhat intrusive to the soft-mmu so I post them as RFC
> in the first round to get feedback about the general direction of the
> changes.  Nevertheless I am proud to report that with these patches the
> famous kernel-compile benchmark runs only 4% slower in the l2 guest as
> in the l1 guest when l2 is single-processor. With SMP guests the

Wow!

Jan

> situation is very different. The more vcpus the guest has the more is
> the performance drop from l1 to l2. 
> Anyway, this post is to get feedback about the overall concept of these
> patches.  Please review and give feedback :-)
> 
> Thanks,
> 
> 	Joerg
> 
> Diffstat:
> 
>  arch/x86/include/asm/kvm_host.h |   21 ++++++
>  arch/x86/kvm/mmu.c              |  152 ++++++++++++++++++++++++++++++---------
>  arch/x86/kvm/mmu.h              |    2 +
>  arch/x86/kvm/paging_tmpl.h      |   81 ++++++++++++++++++---
>  arch/x86/kvm/svm.c              |  126 +++++++++++++++++++++++++++-----
>  arch/x86/kvm/vmx.c              |    9 +++
>  arch/x86/kvm/x86.c              |   19 +++++-
>  include/linux/kvm.h             |    1 +
>  include/linux/kvm_host.h        |    5 ++
>  9 files changed, 354 insertions(+), 62 deletions(-)
> 
> Shortlog:
> 
> Joerg Roedel (18):
>       KVM: MMU: Check for root_level instead of long mode
>       KVM: MMU: Make tdp_enabled a mmu-context parameter
>       KVM: MMU: Make set_cr3 a function pointer in kvm_mmu
>       KVM: X86: Introduce a tdp_set_cr3 function
>       KVM: MMU: Introduce get_cr3 function pointer
>       KVM: MMU: Introduce inject_page_fault function pointer
>       KVM: SVM: Implement MMU helper functions for Nested Nested Paging
>       KVM: MMU: Change init_kvm_softmmu to take a context as parameter
>       KVM: MMU: Let is_rsvd_bits_set take mmu context instead of vcpu
>       KVM: MMU: Introduce generic walk_addr function
>       KVM: MMU: Add infrastructure for two-level page walker
>       KVM: MMU: Implement nested gva_to_gpa functions
>       KVM: MMU: Introduce Nested MMU context
>       KVM: SVM: Initialize Nested Nested MMU context on VMRUN
>       KVM: MMU: Propagate the right fault back to the guest after gva_to_gpa
>       KVM: X86: Add callback to let modules decide over some supported cpuid bits
>       KVM: SVM: Report Nested Paging support to userspace
>       KVM: X86: Add KVM_CAP_SVM_CPUID_FIXED
> 
> 

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux