RE: [RFC] MADV_FREE doesn't work when doesn't have swap partition

From: Wang, Yalin
Date: Fri Dec 19 2014 - 01:55:45 EST


> -----Original Message-----
> From: Minchan Kim [mailto:minchan@xxxxxxxxxx]
> Sent: Friday, December 19, 2014 9:05 AM
> To: Wang, Yalin
> Cc: 'Konstantin Khlebnikov'; 'Kirill A. Shutemov'; 'Andrew Morton'; 'linux-
> kernel@xxxxxxxxxxxxxxx'; 'linux-mm@xxxxxxxxx'; 'linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx'; 'n-horiguchi@xxxxxxxxxxxxx'
> Subject: Re: [RFC] MADV_FREE doesn't work when doesn't have swap partition
>
> On Thu, Dec 18, 2014 at 11:50:01AM +0800, Wang, Yalin wrote:
> > I notice this commit:
> > mm: support madvise(MADV_FREE),
> >
> > it can free clean anonymous pages directly, doesn't need pageout to
> > swap partition,
> >
> > but I found it doesn't work on my platform, which don't enable any
> > swap partitions.
>
> Current implementation, if there is no empty slot in swap, it does instant
> free instead of delayed free. Look at madvise_vma.
>
> >
> > I make a change for this.
> > Just to explain my issue clearly,
> > Do we need some other checks to still scan anonymous pages even Don't
> > have swap partition but have clean anonymous pages?
>
> There is a few places we should consider if you want to scan anonymous page
> withotu swap. Refer 69c854817566 and 74e3f3c3391d.
>
> However, it's not simple at the moment. If we reenable anonymous scan
> without swap, it would make much regress of reclaim. So my direction is
> move normal anonymos pages into unevictable LRU list because they're real
> unevictable without swap and put delayed freeing pages into anon LRU list
> and age them.
>
I understand your solution, sounds a great idea!
When this design will be merged into main stream?

Thanks.