Subject: Re: panic: too much memory(!)
To: Christoph Badura <bad@ora.de>
From: Curt Sampson <cjs@portal.ca>
List: port-i386
Date: 08/19/1997 10:36:07
On Tue, 19 Aug 1997, Christoph Badura wrote:

> >using 1388 buffers containing 33980416 bytes of memory
> ...
> You should probably use at least 4200 buffers with that large a buffer
> cache.

Good luck. You can't have more than 1388 buffers on the i386 at
the moment, because it runs out of address space for them: each
buffer uses 64K of address space. (Which means that on most
systems--with 8K blocks--there's not much point in having more than
11 MB of buffer memory allocated.)

I've heard that some people have been bandying about solutions to
this problem. The most obvious one is just to give the kernel more
VA space; say, make it 256 MB rather than 128 MB. But a different
solution is really called for, since this doesn't help machines
like the Sun 4c, which simply don't have the MMU resources to do
any reasonably large amount of buffers when each uses 64K of VA
space.

My thought was to `break up' 64K VA space buffers into 8 8K VA
space buffers when we've need for some buffers backed by only 8K
of RAM, sort of like many memory allocation routines do. I've not
looked at the code, though so I don't know how hard this would be.

cjs

Curt Sampson    cjs@portal.ca	   Info at http://www.portal.ca/
Internet Portal Services, Inc.	   Through infinite myst, software reverberates
Vancouver, BC  (604) 257-9400	   In code possess'd of invisible folly.