On Thu, Feb 23, 2017 at 10:58:27AM -0500, Johannes Weiner wrote:
> Hi Shaohua,
> 
> On Wed, Feb 22, 2017 at 10:50:41AM -0800, Shaohua Li wrote:
> > @@ -268,6 +268,12 @@ static void __activate_page(struct page *page, struct 
> > lruvec *lruvec,
> >             int lru = page_lru_base_type(page);
> >  
> >             del_page_from_lru_list(page, lruvec, lru);
> > +           if (PageAnon(page) && !PageSwapBacked(page)) {
> > +                   SetPageSwapBacked(page);
> > +                   /* charge to anon scanned/rotated reclaim_stat */
> > +                   file = 0;
> > +                   lru = LRU_INACTIVE_ANON;
> > +           }
> 
> As per my previous feedback, please remove this. Write-after-free will
> be caught and handled in the reclaimer, read-after-free is a bug that
> really doesn't require optimizing page aging for. And we definitely
> shouldn't declare invalid data suddenly valid because it's being read.

GUP could run into this. Don't we move the page because it's hot? I think it's
not just about page aging. If we leave the page there, page reclaim will just
waste time to reclaim the pages which should't be reclaimed.

Thanks,
Shaohua

Reply via email to