From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] KVM: MMU: Do not unconditionally read PDPTE from guest memory Date: Sun, 31 Jul 2011 11:08:44 +0300 Message-ID: <4E350D8C.7060508@redhat.com> References: <1311842177-9542-1-git-send-email-avi@redhat.com> <20110729113111.GL5176@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , "kvm@vger.kernel.org" To: "Roedel, Joerg" Return-path: Received: from mx1.redhat.com ([209.132.183.28]:11213 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752348Ab1GaIIt (ORCPT ); Sun, 31 Jul 2011 04:08:49 -0400 In-Reply-To: <20110729113111.GL5176@amd.com> Sender: kvm-owner@vger.kernel.org List-ID: On 07/29/2011 02:31 PM, Roedel, Joerg wrote: > On Thu, Jul 28, 2011 at 04:36:17AM -0400, Avi Kivity wrote: > > Architecturally, PDPTEs are cached in the PDPTRs when CR3 is reloaded. > > On SVM, it is not possible to implement this, but on VMX this is possible > > and was indeed implemented until nested SVM changed this to unconditionally > > read PDPTEs dynamically. This has noticable impact when running PAE guests. > > > > Fix by changing the MMU to read PDPTRs from the cache, falling back to > > reading from memory for the nested MMU. > > > > Signed-off-by: Avi Kivity > > Hmm, interesting. Sorry for breaking it. I tested the patch on nested > svm, it works fine. Does pae-on-pae work for you? -- error compiling committee.c: too many arguments to function