mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
vmscan: don't attempt to reclaim anon page in lumpy reclaim when no swap space is available
The VM already avoids attempting to reclaim anon pages in various places, But it doesn't avoid it for lumpy reclaim. It shuffles lru list unnecessary so that it is pointless. [akpm@linux-foundation.org: cleanup] Signed-off-by: Minchan Kim <minchan.kim@gmail.com> Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Reviewed-by: Rik van Riel <riel@redhat.com> Cc: Mel Gorman <mel@csn.ul.ie> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
adea02a1be
commit
de2e7567c7
10
mm/vmscan.c
10
mm/vmscan.c
@ -935,6 +935,16 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan,
|
||||
/* Check that we have not crossed a zone boundary. */
|
||||
if (unlikely(page_zone_id(cursor_page) != zone_id))
|
||||
continue;
|
||||
|
||||
/*
|
||||
* If we don't have enough swap space, reclaiming of
|
||||
* anon page which don't already have a swap slot is
|
||||
* pointless.
|
||||
*/
|
||||
if (nr_swap_pages <= 0 && PageAnon(cursor_page) &&
|
||||
!PageSwapCache(cursor_page))
|
||||
continue;
|
||||
|
||||
if (__isolate_lru_page(cursor_page, mode, file) == 0) {
|
||||
list_move(&cursor_page->lru, dst);
|
||||
mem_cgroup_del_lru(cursor_page);
|
||||
|
Loading…
Reference in New Issue
Block a user