diff --git a/[refs] b/[refs] index b8fc84bddf82..4d2a8f6a1e79 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 799f933a82d878d7f15215473c5561ce984ada75 +refs/heads/master: 86cfd3a45042ab242d47f3935a02811a402beab6 diff --git a/trunk/mm/vmscan.c b/trunk/mm/vmscan.c index 974162c80edb..b935e6f0d695 100644 --- a/trunk/mm/vmscan.c +++ b/trunk/mm/vmscan.c @@ -2000,8 +2000,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;