From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH v4 3/3] KVM: MMU: retry #PF for softmmu Date: Mon, 06 Dec 2010 18:22:59 +0800 Message-ID: <4CFCB983.6020503@cn.fujitsu.com> References: <4CF76A8B.2040102@cn.fujitsu.com> <4CF76B06.6050708@cn.fujitsu.com> <4CFCB150.40202@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , Gleb Natapov , LKML , KVM To: Avi Kivity Return-path: In-Reply-To: <4CFCB150.40202@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Hi Avi, On 12/06/2010 05:48 PM, Avi Kivity wrote: > On 12/02/2010 11:46 AM, Xiao Guangrong wrote: >> Retry #PF for softmmu only when the current vcpu has the same cr3 as >> the time >> when #PF occurs >> >> Changelog: >> Just compare cr3 value since It's harmless to instantiate an spte >> for an >> unused translation from Marcelo's comment >> > > It's not harmless. We could be in a different process, so we have to > re-fetch the gpte. Or we could have switched from one nested guest to > another. > But it does this in this patch: re-walk guest page table and fixes guest's shadow page (not use any info when apf is occurred) >> if (!eperm&& !rsvd_fault&& !(pte& PT_ACCESSED_MASK)) { >> + /* >> + * Don't set gpte accessed bit if it's on >> + * speculative path. >> + */ >> + if (prefault) >> + goto error; > > It's actually legal to set the accessed bit on speculative access. > Oh, you are right, thanks for your reminder.