Date: Mon, 20 Aug 2001 09:23:47 -0700 (PDT) From: Matt Dillon <dillon@earth.backplane.com> To: Bruce Evans <bde@zeta.org.au> Cc: Peter Wemm <peter@wemm.org>, <cvs-committers@FreeBSD.ORG>, <cvs-all@FreeBSD.ORG> Subject: Re: cvs commit: src/sys/boot/common loader.8 src/sys/conf options src/sys/i386/i386 machdep.c src/sys/i386/include param.h src/sys/kern subr_param.c src/sys/sys buf.h src/sys/vm swap_pager.c Message-ID: <200108201623.f7KGNlk51603@earth.backplane.com> References: <20010820194057.Y54152-100000@besplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
:> Matt Dillon wrote:
:> > dillon 2001/08/19 17:41:13 PDT
:> >
:> > Modified files:
:> > sys/boot/common loader.8
:> > sys/conf options
:> > sys/i386/i386 machdep.c
:> > sys/i386/include param.h
:> > sys/kern subr_param.c
:> > sys/sys buf.h
:> > sys/vm swap_pager.c
:> > Log:
:> > Limit the amount of KVM reserved for the buffer cache and for swap-meta
:> > information. The default limits only effect machines with > 1GB of ram
:> > and can be overriden with two new kernel conf variables VM_SWZONE_SIZE_MAX
:> > and VM_BCACHE_SIZE_MAX, or with loader variables kern.maxswzone and
:> > kern.maxbcache. This has the effect of leaving more KVM available for
:> > sizing NMBCLUSTERS and 'maxusers' and should avoid tripups where a sysad
:> > adds memory to a machine and then sees the kernel panic on boot due to
:> > running out of KVM.
:>
:> And how about the rest of the platforms? You have broken them by putting
:> references to a MD include (sys/i386/include/param.h) into a MI file
:> (subr_param.c).
:
:Actually, by not updating all copies of this MD include to define
:suitable MD constants for VM_BCACHE_SIZE_MAX and VM_SWZONE_SIZE_MAX.
:These constants need to be MD since the amount of KVM is MD. Except
:these constants shouldn't exist. Just use a suitable fraction of total
:KVM. Alternatively, set these constants to "infinity" by default and
:override them on i386's only. 64-bit machines should have enough KVM
:to map the buffer cache millions of times.
:
:Bruce
The globals are properly machine-independant. These parameters effect
major sysad-exposed pieces of the machine.
The #define'd constants are properly machine-dependant. They are
properly defined in the general options because they apply to all
builds.
I will fix kern/subr_param.c to conditionally assign the constants,
which will fix the other builds. If the #define isn't specified by
a build, or specified as 0, the effect is unlimited.
-Matt
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200108201623.f7KGNlk51603>
