Re: 2.1.89 broken?

Stephen C. Tweedie
1998-03-11T22:45:47Z

Hi,

On Tue, 10 Mar 1998 09:38:41 +0100 (MET), Rik van Riel
<H.H.vanRiel@fys.ruu.nl> said:

> On 10 Mar 1998, Trond Eivind =?ISO-8859-1?Q?Glomsr=F8d?= wrote:
>> That is my experience as well... I've got 80 MB. It was happy with
>> about 56 MB for caches, 4 MB free and a little less than 20 MB
>> used. Oh - and 75 MB used swap.

> You both seem to be ignoring the fact that sticking
> unused stuff in swap is better than freeing disk
> cache pages. In 2.1.89 we age disk cache pages in
> much the same way we age private (in-swap) pages.
> Because the aging is the same, you can be quite sure
> that Linux is doing the right thing...

Rik,

No, it's not necessarily doing the Right Thing. The trouble is that
there is no balancing between swapping and emptying the page cache.
The current balancing heuristic just about works with the old page
cache aging, but if we change that aging, then we just force the
kernel to keep trying to free pages from one source for as long as
there are freeable pages on that source. Note that this doesn't mean
that it is _cheap_ to free these pages; just that the kernel can,
within the bounds of a single pass through try_to_free_page(), find at
least one swappable page.

Now, once we've got a single pass which can scavenge BOTH page cache
and swap pages, then we're really going to be cooking on gas. :) For
now, however, all we're doing is tweaking what is a very very delicate
balance, and as we proved in the 1.2.4 and 1.2.5 swapping disasters,
getting such a change done in a way which doesn't make at least
somebody's performance very much worse is really quite hard to do in
the current way of managing memory. When I was doing the first round
of work on kswap, it was this balance between cache and swap which was
the biggest problem, not the aging of individual pages from either
source.

Cheers,
Stephen.