lkml.org 
[lkml]   [2010]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH 0/18][RFC] Nested Paging support for Nested SVM (aka NPT-Virtualization)
    Date
    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
    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




    \
     
     \ /
      Last update: 2010-03-03 20:17    [W:0.024 / U:0.332 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site