On Tue, Dec 20, 2011 at 03:47:33PM +0900, Minchan Kim wrote: > It's pointless to go reclaiming when we have no swap space > and lots of anon pages in inactive list. > > Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> > Cc: Mel Gorman <mgorman@xxxxxxx> > Cc: Rik van Riel <riel@xxxxxxxxxx> > Cc: Johannes Weiner <jweiner@xxxxxxxxxx> > Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> > Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> > --- > mm/vmscan.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 23256e8..cd5400c 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -2015,8 +2015,9 @@ static inline bool should_continue_reclaim(struct zone *zone, > * inactive lists are large enough, continue reclaiming > */ > pages_for_compaction = (2UL << sc->order); > - inactive_lru_pages = zone_nr_lru_pages(zone, sc, LRU_INACTIVE_ANON) + > - zone_nr_lru_pages(zone, sc, LRU_INACTIVE_FILE); > + inactive_lru_pages = zone_nr_lru_pages(zone, sc, LRU_INACTIVE_FILE); > + if (nr_swap_pages > 0) > + inactive_lru_pages += zone_nr_lru_pages(zone, sc, LRU_INACTIVE_ANON); > if (sc->nr_reclaimed < pages_for_compaction && > inactive_lru_pages > pages_for_compaction) > return true; The changelog does not win a prize for detail but it makes sense. Without this patch, it is possible when swap is disabled to continue trying to reclaim when there are only anonymous page in the system even though that will not make any progress. Acked-by: Mel Gorman <mgorman@xxxxxxx> -- Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>