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>