Messages in this thread Patch in this message | | | Date | Thu, 14 May 2009 14:10:25 +0900 | From | Minchan Kim <> | Subject | [PATCH] Prevent shrinking of active anon lru list in case of no swap space |
| |
Now shrink_active_list is called several places. But if we don't have a swap space, we can't reclaim anon pages. So, we don't need deactivating anon pages in anon lru list.
Signed-off-by: Minchan Kim <minchan.kim@gmail.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Rik van Riel <riel@redhat.com> --- mm/vmscan.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/mm/vmscan.c b/mm/vmscan.c index 2f9d555..e4d71f4 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1238,6 +1238,12 @@ static void shrink_active_list(unsigned long nr_pages, struct zone *zone, enum lru_list lru; struct zone_reclaim_stat *reclaim_stat = get_reclaim_stat(zone, sc); + /* + * we can't shrink anon list in case of no swap space. + */ + if (file == 0 && nr_swap_pages <= 0) + return; + lru_add_drain(); spin_lock_irq(&zone->lru_lock); pgmoved = sc->isolate_pages(nr_pages, &l_hold, &pgscanned, sc->order, -- 1.5.4.3
-- Kinds Regards Minchan Kim
| |