Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 69c85481 authored by MinChan Kim's avatar MinChan Kim Committed by Linus Torvalds
Browse files

vmscan: prevent shrinking of active anon lru list in case of no swap space V3



shrink_zone() can deactivate active anon pages even if we don't have a
swap device.  Many embedded products don't have a swap device.  So the
deactivation of anon pages is unnecessary.

This patch prevents unnecessary deactivation of anon lru pages.  But, it
don't prevent aging of anon pages to swap out.

Signed-off-by: default avatarMinchan Kim <minchan.kim@gmail.com>
Acked-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: default avatarRik van Riel <riel@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 35282a2d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1570,7 +1570,7 @@ static void shrink_zone(int priority, struct zone *zone,
	 * Even if we did not try to evict anon pages at all, we want to
	 * rebalance the anon lru active/inactive ratio.
	 */
	if (inactive_anon_is_low(zone, sc))
	if (inactive_anon_is_low(zone, sc) && nr_swap_pages > 0)
		shrink_active_list(SWAP_CLUSTER_MAX, zone, sc, priority, 0);

	throttle_vm_writeout(sc->gfp_mask);