Re: broken VM in 2.4.10-pre9

Linus Torvalds
2001-09-17T15:43:32Z

On Mon, 17 Sep 2001, Rik van Riel wrote:
>
> > - I don't like the lack of aging in 'reclaim_page()'. It will walk the
> > whole LRU list if required, which kind of defeats the purpose of having
> > reference bits and LRU on that list. The code _claims_ that it almost
> > always succeeds with the first page, but I don't see why it would. I
> > think that comment assumed that the inactive_clean list cannot have any
> > referenced pages, but that's never been true.
>
> This depends on whether we do reactivation in __find_page_nolock()
> or if we leave the page alone and wait for kswapd to do that for
> us.

We should not do _anything_ in __find_page_nolock().

It's positively wrong to touch any aging information there - if you do,
you are guaranteed to not get read-ahead right (ie a page that gets
read-ahead first will behave differently than a page that got read
directly, which just cannot be right).

The aging has to be done at a higher level (ie when you actually _use_
it, not when you search the hash queues).

Linus