Re: [PATCH] 2.6.4-rc2-mm1: vm-split-active-lists

From: Nikita Danilov
Date: Fri Mar 12 2004 - 11:33:17 EST


Nick Piggin writes:
>
>
> Nikita Danilov wrote:
>
> >Nick Piggin writes:
> > >
> >
> >[...]
> >
> > >
> > > By the way, I would be interested to know the rationale behind
> > > mark_page_accessed as it is without this patch, also what is it doing in
> > > rmap.c (I know hardly anything actually uses page_test_and_clear_young, but
> > > still). It seems to me like it only serves to make VM behaviour harder to
> > > understand, but I'm probably missing something. Andrew?
> >
> >With your patch, once a page got into inactive list, its PG_referenced
> >bit will only be checked by VM scanner when page wanders to the tail of
> >list. In particular, if is impossible to tell pages that were accessed
> >only once while on inactive list from ones that were accessed multiple
> >times. Original mark_page_accessed() moves page to the active list on
> >the second access, thus making it less eligible for the reclaim.
> >
> >
>
> With my patch though, it gives unmapped pages the same treatment as
> mapped pages. Without my patch, pages getting a lot of mark_page_accessed
> activity can easily be promoted unfairly past mapped ones which are simply
> getting activity through the pte.

Another way to put it is that treatment of file system pages is dumbed
down to the level of mapped ones: information about access patterns is
just discarded.

>
> I say just set the bit and let the scanner handle it.

I think that decisions about balancing VM and file system caches should
be done by higher level, rather than by forcing file system to use
low-level mechanisms designed for VM, where only limited information is
provided by hardware. Splitting page queues is a step in a right
direction, as it allows to implement more precise replacement for the
file system cache.

Nikita.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/