Re: [RFC PATCH 6/10] split anon and file LRUs

Rik van Riel
2007-11-07T03:00:45Z

On Tue, 6 Nov 2007 18:28:19 -0800 (PST)
Christoph Lameter <clameter@sgi.com> wrote:
> On Sat, 3 Nov 2007, Rik van Riel wrote:
>
> > Split the LRU lists in two, one set for pages that are backed by
> > real file systems ("file") and one for pages that are backed by
> > memory and swap ("anon"). The latter includes tmpfs.
>
> If we split the memory backed from the disk backed pages then
> they are no longer competing with one another on equal terms? So the file LRU
> may run faster than the memory LRU?

The file LRU probably *should* run faster than the memory LRU most
of the time, since we stream the readahead data for many sequentially
accessed files through the file LRU.

We adjust the rates at which the two LRUs are scanned depending on
the fraction of referenced pages found when scanning each list.
Look at vmscan.c:get_scan_ratio() for the magic.

> The patch looks awfully large.

Making it smaller would probably result in something that does
not work right.

--
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan