Re: [PATCH] swapin readahead

Zlatko Calusic
1998-12-02T21:19:15Z

"Stephen C. Tweedie" <sct@redhat.com> writes:

> Hi,
>
> On Tue, 1 Dec 1998 19:32:52 +0100 (CET), Rik van Riel
> <H.H.vanRiel@phys.uu.nl> said:
>
> > I took the bet that shrink_mmap() would take care of that, but
> > aperrantly not always :(
>
> shrink_mmap() only gets rid of otherwise unused pages (pages whose count
> is one). After read_swap_cache_async(), the page count will be three:
> once for the swap cache, once for the io in progress, once for the
> reference returned by read_swap_cache_async(). You need to free that
> last reference explicitly after doing the readahead call. The io
> reference will be returned once IO completes, and shrink_mmap() will
> take care of the final swap cache reference.
>

That is exactly what I had in mind, but didn't have time to
investigate further. Nor courage to say that, without trying first. :)

I've been hacking shrink_mmap() and swap_out() most of the time last
few days and in fact completely understood all inner workings of them.
Quite complicated stuff, now I see why it so easily breaks if we
change something aruond.

Trying 2.1.131-2, I'm mostly satisfied with MM workout, but...

Still, I have a feeling that limit imposed on cache growth is now too
hard, unlike kernels from the 2.1.1[01]? era, that had opposite
problems (excessive cache growth during voluminous I/O operations).

What I wanted to ask is: do you guys share my opinion, and what
changes would you like to see before 2.2 comes out?

Thanks for any opinion.
--
Posted by Zlatko Calusic E-mail: <Zlatko.Calusic@CARNet.hr>
---------------------------------------------------------------------
"640K ought to be enough for anybody." Bill Gates '81