On Fri, 18 Feb 2011 00:08:21 +0900 Minchan Kim <minchan.kim@xxxxxxxxx> wrote: > invalidate_mapping_pages is very big hint to reclaimer. > It means user doesn't want to use the page any more. > So in order to prevent working set page eviction, this patch > move the page into tail of inactive list by PG_reclaim. > > Please, remember that pages in inactive list are working set > as well as active list. If we don't move pages into inactive list's > tail, pages near by tail of inactive list can be evicted although > we have a big clue about useless pages. It's totally bad. > > Now PG_readahead/PG_reclaim is shared. > fe3cba17 added ClearPageReclaim into clear_page_dirty_for_io for > preventing fast reclaiming readahead marker page. > > In this series, PG_reclaim is used by invalidated page, too. > If VM find the page is invalidated and it's dirty, it sets PG_reclaim > to reclaim asap. Then, when the dirty page will be writeback, > clear_page_dirty_for_io will clear PG_reclaim unconditionally. > It disturbs this serie's goal. > > I think it's okay to clear PG_readahead when the page is dirty, not > writeback time. So this patch moves ClearPageReadahead. > In v4, ClearPageReadahead in set_page_dirty has a problem which is reported > by Steven Barrett. It's due to compound page. Some driver(ex, audio) calls > set_page_dirty with compound page which isn't on LRU. but my patch does > ClearPageRelcaim on compound page. In non-CONFIG_PAGEFLAGS_EXTENDED, it breaks > PageTail flag. > > I think it doesn't affect THP and pass my test with THP enabling > but Cced Andrea for double check. > > Reported-by: Steven Barrett <damentz@xxxxxxxxxxxx> > Reviewed-by: Johannes Weiner <hannes@xxxxxxxxxxx> > Acked-by: Rik van Riel <riel@xxxxxxxxxx> > Acked-by: Mel Gorman <mel@xxxxxxxxx> > Cc: Wu Fengguang <fengguang.wu@xxxxxxxxx> > Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> > Cc: Nick Piggin <npiggin@xxxxxxxxx> > Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> > Signed-off-by: Minchan Kim <minchan.kim@xxxxxxxxx> Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> -- 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>