On Tue, Nov 23, 2010 at 4:15 PM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > On Tue, 23 Nov 2010 15:05:39 +0900 Minchan Kim <minchan.kim@xxxxxxxxx> wrote: > >> On Tue, Nov 23, 2010 at 2:48 PM, Andrew Morton >> >> > move it to the head of the LRU anyway. __But given that the user has >> >> >> >> Why does it move into head of LRU? >> >> If the page which isn't mapped doesn't have PG_referenced, it would be >> >> reclaimed. >> > >> > If it's dirty or under writeback it can't be reclaimed! >> >> I see your point. And it's why I add it to head of inactive list. > > But that *guarantees* that the page will get a full trip around the > inactive list. And this will guarantee that potentially useful pages > are reclaimed before the pages which we *know* the user doesn't want! > Bad! > > Whereas if we queue it to the tail, it will only get that full trip if > reclaim happens to run before the page is cleaned. And we just agreed > that reclaim isn't likely to run immediately, because pages are being > freed. > > So we face a choice between guaranteed eviction of potentially-useful > pages (which are very expensive to reestablish) versus a *possible* > need to move an unreclaimable page to the head of the LRU, which is > cheap. How about flagging SetPageReclaim when we add it to head of inactive? If page write is complete, end_page_writeback would move it to tail of inactive. -- Kind regards, Minchan Kim -- 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 policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href