On Mon, Sep 09, 2019 at 02:27:12PM -0700, Matthew Wilcox wrote:
> On Fri, Sep 06, 2019 at 09:57:47PM +0800, Jia He wrote:
> > +           if (!pte_young(vmf->orig_pte)) {
> > +                   entry = pte_mkyoung(vmf->orig_pte);
> > +                   if (ptep_set_access_flags(vmf->vma, vmf->address,
> > +                           vmf->pte, entry, 0))
> > +                           update_mmu_cache(vmf->vma, vmf->address,
> > +                                           vmf->pte);
> > +           }
> > +
> 
> Oh, btw, why call update_mmu_cache() here?  All you've done is changed
> the 'accessed' bit.  What is any architecture supposed to do in response
> to this?

For arm64 and x86 that's a no-op but an architecture with software TLBs
may preload them to avoid a subsequent fault on access after the pte was
made young.

-- 
Catalin

Reply via email to