Re: [PATCH V5 4/6] mm: reclaim MADV_FREE pages

From: Michal Hocko
Date: Mon Feb 27 2017 - 11:32:20 EST


On Mon 27-02-17 08:19:08, Shaohua Li wrote:
> On Mon, Feb 27, 2017 at 03:33:15PM +0900, Minchan Kim wrote:
[...]
> > > --- a/include/linux/rmap.h
> > > +++ b/include/linux/rmap.h
> > > @@ -298,6 +298,6 @@ static inline int page_mkclean(struct page *page)
> > > #define SWAP_AGAIN 1
> > > #define SWAP_FAIL 2
> > > #define SWAP_MLOCK 3
> > > -#define SWAP_LZFREE 4
> > > +#define SWAP_DIRTY 4
> >
> > I still don't convinced why we should introduce SWAP_DIRTY in try_to_unmap.
> > https://marc.info/?l=linux-mm&m=148797879123238&w=2
> >
> > We have been SetPageMlocked in there but why cannot we SetPageSwapBacked
> > in there? It's not a thing to change LRU type but it's just indication
> > we found the page's status changed in late.
>
> This one I don't have strong preference. Personally I agree with Johannes,
> handling failure in vmscan sounds better. But since the failure handling is
> just one statement, this probably doesn't make too much difference. If Johannes
> and you made an agreement, I'll follow.

FWIW I like your current SWAP_DIRTY and the later handling at the vmscan
level more.
--
Michal Hocko
SUSE Labs