From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH v3 2/3] KVM: MMU: fix accessed bit set on prefault path Date: Wed, 01 Dec 2010 03:11:11 +0800 Message-ID: <4CF54C4F.80901@cn.fujitsu.com> References: <4CF4C535.8080405@cn.fujitsu.com> <4CF4C587.7080000@cn.fujitsu.com> <20101130132915.GG2187@redhat.com> <4CF52BC6.9020401@cn.fujitsu.com> <20101130175005.GA2924@redhat.com> <4CF53F41.1040503@cn.fujitsu.com> <20101130183833.GB2924@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Avi Kivity , Marcelo Tosatti , LKML , KVM To: Gleb Natapov Return-path: In-Reply-To: <20101130183833.GB2924@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 12/01/2010 02:38 AM, Gleb Natapov wrote: >> It can't avoid the page to be evicted again since the page is marked accessed only >> when spte is droped or updated. > I still do not understand why are you disabling prefault for ept. Why > do you want to distinguish between actually accessed translations and > prefauls? What problem are you trying to fix? > Look at set_spte_track_bits() function: if (!shadow_accessed_mask || old_spte & shadow_accessed_mask) kvm_set_pfn_accessed(pfn); It's always mark the page accessed. But prefault is the speculative path, the prefault address may not be accessed later(the apf process is killed). under this case, the page is not really accessed.