Re: MM patches against 2.5.31

Linus Torvalds
2002-08-26T17:52:15Z

In article <3D6989F7.9ED1948A@zip.com.au>,
Andrew Morton <akpm@zip.com.au> wrote:
>
>What I'm inclined to do there is to change __page_cache_release()
>to not attempt to free the page at all. Just let it sit on the
>LRU until page reclaim encounters it. With the anon-free-via-pagevec
>patch, very, very, very few pages actually get their final release in
>__page_cache_release() - zero on uniprocessor, I expect.

If you do this, then I would personally suggest a conceptually different
approach: make the LRU list count towards the page count. That will
_automatically_ result in what you describe - if a page is on the LRU
list, then "freeing" it will always just decrement the count, and the
_real_ free comes from walking the LRU list and considering count==1 to
be trivially freeable.

That way you don't have to have separate functions for releasing
different kinds of pages (we've seen how nasty that was from a
maintainance standpoint already with the "put_page vs
page_cache_release" thing).

Ehh?

Linus