diff options
-rw-r--r-- | mm/vmscan.c | 10 |
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); |