Re: Why active list and inactive list?

Balbir Singh
2007-01-23T05:11:14Z

Nick Piggin wrote:
> 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...
>

Thanks, I am motivated to experiment with the idea. I guess I need
to (re)discover the downsides for myself :-)

--
Balbir Singh
Linux Technology Center
IBM, ISTL