On Thu, Mar 15, 2007 at 11:56:59AM -0400, Chuck Ebbert wrote: > Ashif Harji wrote: > > > > This patch unconditionally calls mark_page_accessed to prevent pages, > > especially for small files, from being evicted from the page cache > > despite frequent access. > > > > Signed-off-by: Ashif Harji <[EMAIL PROTECTED]> > > > > I like mine better -- it leaves the comment:
How about this? It also doesn't break the use-once heuristic. -- A change to make database style random read() workloads perform better, by calling mark_page_accessed for some non-page-aligned reads broke the case of < PAGE_CACHE_SIZE files, which will not get their prev_index moved past the first page. Combine both heuristics for marking the page accessed. Signed-off-by: Nick Piggin <[EMAIL PROTECTED]> Index: linux-2.6/mm/filemap.c =================================================================== --- linux-2.6.orig/mm/filemap.c +++ linux-2.6/mm/filemap.c @@ -929,7 +929,7 @@ page_ok: * When (part of) the same page is read multiple times * in succession, only mark it as accessed the first time. */ - if (prev_index != index) + if (prev_index != index || !offset) mark_page_accessed(page); prev_index = index; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/