If there are lazyfree pages in system, shrink inactive anonymous LRU to discard lazyfree pages regardless of existing avaialable swap. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> --- mm/vmscan.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index 98a1c3ffcaab..ad73e053c581 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1889,8 +1889,13 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc, if (!global_reclaim(sc)) force_scan = true; - /* If we have no swap space, do not bother scanning anon pages. */ - if (!sc->may_swap || (get_nr_swap_pages() <= 0)) { + /* + * If we have no swap space and lazyfree pages, + * do not bother scanning anon pages. + */ + if (!sc->may_swap || + (get_nr_swap_pages() <= 0 && + zone_page_state(zone, NR_LAZYFREE_PAGES) <= 0)) { scan_balance = SCAN_FILE; goto out; } -- 1.9.0 -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>