On February 25, 2017 5:32 AM Shaohua Li wrote: > > madv MADV_FREE indicate pages are 'lazyfree'. They are still anonymous > pages, but they can be freed without pageout. To destinguish them > against normal anonymous pages, we clear their SwapBacked flag. > > MADV_FREE pages could be freed without pageout, so they pretty much like > used once file pages. For such pages, we'd like to reclaim them once > there is memory pressure. Also it might be unfair reclaiming MADV_FREE > pages always before used once file pages and we definitively want to > reclaim the pages before other anonymous and file pages. > > To speed up MADV_FREE pages reclaim, we put the pages into > LRU_INACTIVE_FILE list. The rationale is LRU_INACTIVE_FILE list is tiny > nowadays and should be full of used once file pages. Reclaiming > MADV_FREE pages will not have much interfere of anonymous and active > file pages. And the inactive file pages and MADV_FREE pages will be > reclaimed according to their age, so we don't reclaim too many MADV_FREE > pages too. Putting the MADV_FREE pages into LRU_INACTIVE_FILE_LIST also > means we can reclaim the pages without swap support. This idea is > suggested by Johannes. > > This patch doesn't move MADV_FREE pages to LRU_INACTIVE_FILE list yet to > avoid bisect failure, next patch will do it. > > The patch is based on Minchan's original patch. > > Cc: Michal Hocko <mho...@suse.com> > Cc: Minchan Kim <minc...@kernel.org> > Cc: Hugh Dickins <hu...@google.com> > Cc: Rik van Riel <r...@redhat.com> > Cc: Mel Gorman <mgor...@techsingularity.net> > Cc: Andrew Morton <a...@linux-foundation.org> > Suggested-by: Johannes Weiner <han...@cmpxchg.org> > Signed-off-by: Shaohua Li <s...@fb.com> > ---
Acked-by: Hillf Danton <hillf...@alibaba-inc.com>