Re: [PATCH v3 2/3] KVM: MMU: fix accessed bit set on prefault path

Gleb Natapov
2010-11-30T19:20:59Z

On Wed, Dec 01, 2010 at 03:11:11AM +0800, Xiao Guangrong wrote:
> 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.
Firs of all if guest is PV the guest process cannot be killed. Second
why is it a problem that we marked pfn as accessed on speculative path?
What problem it causes especially since it is very likely that the page
will be accessed shortly anyway?

--
Gleb.