aboutsummaryrefslogtreecommitdiffstats
path: root/mm/vmscan.c
diff options
context:
space:
mode:
authorMinChan Kim <minchan.kim@gmail.com>2009-06-16 18:32:44 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-06-16 22:47:41 -0400
commit69c854817566db82c362797b4a6521d0b00fe1d8 (patch)
treeb4873e257212659ca0eb224151971e029ce3875d /mm/vmscan.c
parent35282a2de4e5e4e173ab61aa9d7015886021a821 (diff)
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: Minchan Kim <minchan.kim@gmail.com> Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/vmscan.c')
-rw-r--r--mm/vmscan.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 7592d8eb1148..879d034930c4 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1570,7 +1570,7 @@ static void shrink_zone(int priority, struct zone *zone,
1570 * Even if we did not try to evict anon pages at all, we want to 1570 * Even if we did not try to evict anon pages at all, we want to
1571 * rebalance the anon lru active/inactive ratio. 1571 * rebalance the anon lru active/inactive ratio.
1572 */ 1572 */
1573 if (inactive_anon_is_low(zone, sc)) 1573 if (inactive_anon_is_low(zone, sc) && nr_swap_pages > 0)
1574 shrink_active_list(SWAP_CLUSTER_MAX, zone, sc, priority, 0); 1574 shrink_active_list(SWAP_CLUSTER_MAX, zone, sc, priority, 0);
1575 1575
1576 throttle_vm_writeout(sc->gfp_mask); 1576 throttle_vm_writeout(sc->gfp_mask);