Re: Why active list and inactive list?

Nick Piggin
2007-01-23T04:17:54Z

Balbir Singh wrote:

> This makes me wonder if it makes sense to split up the LRU into page
> cache LRU and mapped pages LRU. I see two benefits
>
> 1. Currently based on swappiness, we might walk an entire list
> searching for page cache pages or mapped pages. With these
> lists separated, it should get easier and faster to implement
> this scheme
> 2. There is another parallel thread on implementing page cache
> limits. If the lists split out, we need not scan the entire
> list to find page cache pages to evict them.
>
> Of course I might be missing something (some piece of history)

I actually had patches to do "split active lists" a while back.

They worked by lazily moving the page at reclaim-time, based on
whether or not it is mapped. This isn't too much worse than the
kernel's current idea of what a mapped page is.

They actually got a noticable speedup of the swapping kbuild
workload, but at this stage there were some more basic
improvements needed, so the difference could be smaller today.

The other nice thing about it was that it didn't have a hard
cutoff that the current reclaim_mapped toggle does -- you could
opt to scan the mapped list at a lower ratio than the unmapped
one. Of course, it also has some downsides too, and would
require retuning...

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com