From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH 0/18][RFC] Nested Paging support for Nested SVM (aka NPT-Virtualization) Date: Mon, 08 Mar 2010 11:41:41 +0200 Message-ID: <4B94C655.6000504@redhat.com> References: <1267643541-451-1-git-send-email-joerg.roedel@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , Alexander Graf , kvm@vger.kernel.org, linux-kernel@vger.kernel.org To: Joerg Roedel Return-path: Received: from mx1.redhat.com ([209.132.183.28]:27082 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753230Ab0CHJlq (ORCPT ); Mon, 8 Mar 2010 04:41:46 -0500 In-Reply-To: <1267643541-451-1-git-send-email-joerg.roedel@amd.com> Sender: kvm-owner@vger.kernel.org List-ID: On 03/03/2010 09:12 PM, 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 > 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(-) > Okay, this looks excellent overall, it's nice to see how well this fits with the existing mmu infrastructure (only ~300 lines added). The performance results are impressive. -- error compiling committee.c: too many arguments to function