Messages in this thread |  | | | Date | Sun, 5 Jul 2009 02:36:25 +0900 | | Subject | Re: [PATCH][mmotm] don't attempt to reclaim anon page in lumpy reclaim when no swap space is available | | From | KOSAKI Motohiro <> |
2009/7/4 Minchan Kim <minchan.kim@gmail.com>: > > This patch is based on mmotm 2009-07-02-19-57 reverted > 'vmscan: don't attempt to reclaim anon page in lumpy reclaim when no swap space is available.' > > This verssion is better than old one. > That's because enough swap space check is done in case of only lumpy reclaim. > so it can't degrade performance in normal case. > > == CUT HERE == > > 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. > > Signed-off-by: Minchan Kim <minchan.kim@gmail.com> > Cc: Mel Gorman <mel@csn.ul.ie> > Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> > Cc: Rik van Riel <riel@redhat.com> > Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> > --- > mm/vmscan.c | 7 +++++++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 27558aa..977af15 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -930,6 +930,13 @@ 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);
okey. this is definitely better. thanks. Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |