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

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Rik van Riel
Date: Wednesday, November 7, 2007 - 11:16 am

On Wed, 7 Nov 2007 09:59:45 -0800
Andrew Morton <akpm@linux-foundation.org> wrote:



Well, if you look at the typical problem systems today, you
will see that most of the pages being allocated and evicted
are in the page cache, while most of the pages in memory are
actually anonymous pages.

Not having to scan over that 80% of memory that contains
anonymous pages and shared memory segments to get at the
20% page cache pages is much more than a factor two
improvement.


Replacing page cache pages is easy.  If they were referenced
once (typical), we can just evict the page the first time we
scan it.

Anonymous pages have a similar optimization: every anonymous
page starts out referenced, so moving referenced pages back
to the front of the active list is unneeded work.

However, we cannot just place referenced anonymous pages onto
an inactive list that is shared with page cache pages, because
of the difference in replacement cost and relative importance
of both types of pages!


http://linux-mm.org/PageReplacementDesign

-- 
"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
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC PATCH 0/10] split anon and file LRUs, Rik van Riel, (Sat Nov 3, 3:42 pm)
[RFC PATCH 1/10] move isolate_lru_page to vmscan.c, Rik van Riel, (Sat Nov 3, 3:54 pm)
[RFC PATCH 3/10] define page_file_cache, Rik van Riel, (Sat Nov 3, 3:55 pm)
[RFC PATCH 4/10] debug page_file_cache, Rik van Riel, (Sat Nov 3, 3:55 pm)
[RFC PATCH 6/10] split anon and file LRUs, Rik van Riel, (Sat Nov 3, 4:01 pm)
[RFC PATCH 7/10] clean up the LRU array arithmetic, Rik van Riel, (Sat Nov 3, 4:02 pm)
[RFC PATCH 9/10] split VM and memory controllers, Rik van Riel, (Sat Nov 3, 4:04 pm)
Re: [RFC PATCH 0/10] split anon and file LRUs, Christoph Lameter, (Tue Nov 6, 7:11 pm)
Re: [RFC PATCH 1/10] move isolate_lru_page to vmscan.c, Christoph Lameter, (Tue Nov 6, 7:13 pm)
Re: [RFC PATCH 0/10] split anon and file LRUs, Rik van Riel, (Tue Nov 6, 7:23 pm)
Re: [RFC PATCH 3/10] define page_file_cache, Christoph Lameter, (Tue Nov 6, 7:23 pm)
Re: [RFC PATCH 6/10] split anon and file LRUs, Christoph Lameter, (Tue Nov 6, 7:28 pm)
Re: [RFC PATCH 0/10] split anon and file LRUs, Christoph Lameter, (Tue Nov 6, 7:40 pm)
Re: [RFC PATCH 0/10] split anon and file LRUs, Rik van Riel, (Tue Nov 6, 7:51 pm)
Re: [RFC PATCH 3/10] define page_file_cache, Rik van Riel, (Tue Nov 6, 7:55 pm)
Re: [RFC PATCH 6/10] split anon and file LRUs, Rik van Riel, (Tue Nov 6, 8:00 pm)
Re: [RFC PATCH 3/10] define page_file_cache, Christoph Lameter, (Tue Nov 6, 8:02 pm)
Re: [RFC PATCH 3/10] define page_file_cache, Rik van Riel, (Tue Nov 6, 8:17 pm)
Re: [RFC PATCH 3/10] define page_file_cache, Christoph Lameter, (Tue Nov 6, 8:26 pm)
Re: [RFC PATCH 3/10] define page_file_cache, Rik van Riel, (Wed Nov 7, 7:35 am)
Re: [RFC PATCH 0/10] split anon and file LRUs, Andrew Morton, (Wed Nov 7, 10:59 am)
Re: [RFC PATCH 3/10] define page_file_cache, Christoph Lameter, (Wed Nov 7, 11:06 am)
Re: [RFC PATCH 0/10] split anon and file LRUs, Rik van Riel, (Wed Nov 7, 11:16 am)
Re: [RFC PATCH 3/10] define page_file_cache, Rik van Riel, (Wed Nov 7, 11:17 am)
Re: [RFC PATCH 3/10] define page_file_cache, Christoph Lameter, (Wed Nov 7, 11:18 am)