Re: unexpected paging during large file reads in 2.1.127

Rik van Riel
1998-11-17T07:12:16Z

On Mon, 16 Nov 1998, Stephen C. Tweedie wrote:
> On Mon, 16 Nov 1998 21:48:35 +0100 (CET), Rik van Riel
> <H.H.vanRiel@phys.uu.nl> said:
> > On Mon, 16 Nov 1998, Stephen C. Tweedie wrote:
> >> The real cure is to disable page aging in the page cache completely.
> >> Now that we have disabled it for swap, it makes absolutely no sense at
> >> all to keep it in the page cache.
>
> > This is not entirely true. There is a major difference
> > between pages in the page cache and pages that can go
> > into swap. The latter kind will always be mapped inside
> > the address space of a program (where it gets proper
> > aging and stuff)
>
> No it doesn't, that's what I'm saying. Linus removed swap page aging in
> the recent kernels. That throws the balance between swap and cache
> completely out of the window: removing the page cache aging is necessary
> to restore balance. There are many many reports of massive cache growth
> on the latest kernels as a result of this.

I meant the page aging that occurs in vmscan.c, where we
decide on which page to unmap from a program's address
space. There we do aging while we don't age pages from
files that are read().

> > Now we can get severe problems with readahead when we
> > are evicting just read-in data because it isn't mapped,
>
> No, we don't. We don't evict just-read-in data, because we mark such
> pages as PG_Referenced. It takes two complete shrink_mmap() passes
> before we can evict such pages.

OK, I can (and have for quite a while) agree with this.
Kernels with this feature and enough memory will run great,
maybe small machines (<16M) will have a bit of trouble
keeping up readahead performance (since kswapd will have
made it's round a bit fast) but those machines will have
sucky performance anyway :)

Rik -- slowly getting used to dvorak kbd layout...
+-------------------------------------------------------------------+
| Linux memory management tour guide. H.H.vanRiel@phys.uu.nl |
| Scouting Vries cubscout leader. http://www.phys.uu.nl/~riel/ |
+-------------------------------------------------------------------+