Alfred Perlstein wrote:
> Hmm, well the GENERIC default is some mathematical operation on
> maxusers.  We really ought to make this scale as a default relative
> to the amount of ram in the system, rather than some low hardcoded
> value.  NetBSD has some stuff for this in their buffercache sizing
> algorithm in netbsd-stable.  It might be worth checking out, the
> formula is quite smart such that it has a decent size when system
> ram is low, then for each meg above X it increases it by some
> percentage.  I find it to be too low, but whatever. :)


This is an arbitrarily hard problem to solve correctly.

The problem boils down to the inability to do allocations at
interrupt, unless there is a prereserved mapping backing
store already in place.

This works for systems where the memory size << KVA space,
but when you stick 4G in a machine, the code in the kernel is
way, way off (the machdep.c calculations for swap page mappings
and others go off the scale, unfortunately).

I think that what needs to happen is a reconsideration of the
memory allocation system, almost entirely.  THe seperation
needs to be into swap path and non-swap path, rather than into
allocable at interrupt time, and not.

I hate to suggest it, but... perhaps a move away from type
stable memory would not be a bad thing.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to