On Wed, 27 Apr 2011 01:25:18 +0900 Minchan Kim <minchan.kim@xxxxxxxxx> wrote: > There are some places to isolate lru page and I believe > users of isolate_lru_page will be growing. > The purpose of them is each different so part of isolated pages > should put back to LRU, again. > > The problem is when we put back the page into LRU, > we lose LRU ordering and the page is inserted at head of LRU list. > It makes unnecessary LRU churning so that vm can evict working set pages > rather than idle pages. > > This patch adds new filter mask when we isolate page in LRU. > So, we don't isolate pages if we can't handle it. > It could reduce LRU churning. > > This patch shouldn't change old behavior. > It's just used by next patches. > > Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> > Cc: Mel Gorman <mgorman@xxxxxxx> > Cc: Rik van Riel <riel@xxxxxxxxxx> > Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> > Signed-off-by: Minchan Kim <minchan.kim@xxxxxxxxx> Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> nitpick below. > --- > include/linux/swap.h | 3 ++- > mm/compaction.c | 2 +- > mm/memcontrol.c | 2 +- > mm/vmscan.c | 26 ++++++++++++++++++++------ > 4 files changed, 24 insertions(+), 9 deletions(-) > > diff --git a/include/linux/swap.h b/include/linux/swap.h > index 384eb5f..baef4ad 100644 > --- a/include/linux/swap.h > +++ b/include/linux/swap.h > @@ -259,7 +259,8 @@ extern unsigned long mem_cgroup_shrink_node_zone(struct mem_cgroup *mem, > unsigned int swappiness, > struct zone *zone, > unsigned long *nr_scanned); > -extern int __isolate_lru_page(struct page *page, int mode, int file); > +extern int __isolate_lru_page(struct page *page, int mode, int file, > + int not_dirty, int not_mapped); Hmm, which is better to use 4 binary args or a flag with bitmask ? Thanks, -Kame -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>