aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mm/vmscan.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 208071c48bf2..ece2ecb08102 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -935,6 +935,16 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan,
935 /* Check that we have not crossed a zone boundary. */ 935 /* Check that we have not crossed a zone boundary. */
936 if (unlikely(page_zone_id(cursor_page) != zone_id)) 936 if (unlikely(page_zone_id(cursor_page) != zone_id))
937 continue; 937 continue;
938
939 /*
940 * If we don't have enough swap space, reclaiming of
941 * anon page which don't already have a swap slot is
942 * pointless.
943 */
944 if (nr_swap_pages <= 0 && PageAnon(cursor_page) &&
945 !PageSwapCache(cursor_page))
946 continue;
947
938 if (__isolate_lru_page(cursor_page, mode, file) == 0) { 948 if (__isolate_lru_page(cursor_page, mode, file) == 0) {
939 list_move(&cursor_page->lru, dst); 949 list_move(&cursor_page->lru, dst);
940 mem_cgroup_del_lru(cursor_page); 950 mem_cgroup_del_lru(cursor_page);