|
@@ -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;
|