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: Tue, 02 Aug 2011 15:34:32 +0300 Message-ID: <4E37EED8.6030203@redhat.com> References: <1311842177-9542-1-git-send-email-avi@redhat.com> <20110729113111.GL5176@amd.com> <4E350D8C.7060508@redhat.com> <20110802093109.GP5176@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]:60997 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754347Ab1HBMeg (ORCPT ); Tue, 2 Aug 2011 08:34:36 -0400 In-Reply-To: <20110802093109.GP5176@amd.com> Sender: kvm-owner@vger.kernel.org List-ID: On 08/02/2011 12:31 PM, Roedel, Joerg wrote: > On Sun, Jul 31, 2011 at 04:08:44AM -0400, Avi Kivity wrote: > > 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? > > Only tested pae-on-longmode. I'll see if I can find my 32bit > installation again and test this too. I wanted to test it since any mixup in where the PTPTRs were taken from would be readily apparent. But it crashes even without the patch. -- error compiling committee.c: too many arguments to function