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

Gleb Natapov
2010-11-30T18:38:33Z

On Wed, Dec 01, 2010 at 02:15:29AM +0800, Xiao Guangrong wrote:
> On 12/01/2010 01:50 AM, Gleb Natapov wrote:
> > On Wed, Dec 01, 2010 at 12:52:22AM +0800, Xiao Guangrong wrote:
> >> On 11/30/2010 09:29 PM, Gleb Natapov wrote:
> >>
> >>>> + if (!shadow_accessed_mask)
> >>>> + return;
> >>>> +
> >>> I don't get this. As far as I can see VMX inits shadow_accessed_mask to
> >>> be zero if ept is enabled. This line here means that we never prefault with ept
> >>> enabled. It is opposite from what it should be.
> >>>
> >>
> >> Since it's no accessed bit on EPT, it's no way to distinguish between actually
> >> accessed translations and prefault.
> > Why is this a problem? We do what this page to not be evicted again
> > since we expect it to be accessed.
> >
>
> 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?

--
Gleb.