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(-)