diff options
| -rw-r--r-- | sys/conf/NOTES | 14 | ||||
| -rw-r--r-- | sys/conf/options | 3 | ||||
| -rw-r--r-- | sys/conf/param.c | 7 | ||||
| -rw-r--r-- | sys/i386/conf/LINT | 14 | ||||
| -rw-r--r-- | sys/i386/conf/NOTES | 14 | ||||
| -rw-r--r-- | sys/kern/subr_param.c | 7 | ||||
| -rw-r--r-- | sys/kern/vfs_export.c | 4 | ||||
| -rw-r--r-- | sys/kern/vfs_subr.c | 4 | ||||
| -rw-r--r-- | sys/sys/vnode.h | 3 |
9 files changed, 56 insertions, 14 deletions
diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 5208535a851b..35ce831751f9 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -2,7 +2,7 @@ # LINT -- config file for checking all the sources, tries to pull in # as much of the source tree as it can. # -# $Id: LINT,v 1.258 1996/05/13 04:38:10 nate Exp $ +# $Id: LINT,v 1.259 1996/05/17 09:42:46 jkh Exp $ # # NB: You probably don't want to try running a kernel built from this # file. Instead, you should start from GENERIC, and add options from @@ -44,6 +44,16 @@ options CHILD_MAX=128 options OPEN_MAX=128 # +# Under some circumstances it is useful to have an extra number of +# vnode data structures allocated at boot time. In particular, +# usenet news servers can benefit if there are enough vnodes to +# cache the busiest newsgroup and overview directories. Beware that +# this is an expensive option, it consumes physical non-pageable ram. +# A busy news server may benefit from 10,000 extra vnodes or so. +# +options EXTRA_VNODES=1 + +# # A math emulator is mandatory if you wish to run on hardware which # does not have a floating-point processor. Pick either the original, # bogus (but freely-distributable) math emulator, or a much more @@ -258,7 +268,7 @@ options PORTAL #Portal filesystem options PROCFS #Process filesystem options UMAPFS #UID map filesystem options UNION #Union filesystem -# THis DEVFS is experimental but seems to work +# This DEVFS is experimental but seems to work options DEVFS #devices filesystem # Make space in the kernel for a MFS root filesystem. Define to the number diff --git a/sys/conf/options b/sys/conf/options index 47fede96f9ea..436932a0bab5 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -1,4 +1,4 @@ -# $Id: options,v 1.11 1996/05/05 02:26:57 pst Exp $ +# $Id: options,v 1.12 1996/05/11 04:39:37 bde Exp $ # Option name filename @@ -29,6 +29,7 @@ SYSVMSG opt_sysvipc.h UCONSOLE # Options used only in param.c. +EXTRAVNODES opt_param.h NMBCLUSTERS opt_param.h SHMMAXPGS opt_param.h SHMMAX opt_param.h diff --git a/sys/conf/param.c b/sys/conf/param.c index f86e7496bc7c..92c06c13e134 100644 --- a/sys/conf/param.c +++ b/sys/conf/param.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.c 8.3 (Berkeley) 8/20/94 - * $Id: param.c,v 1.18 1996/05/02 14:19:18 phk Exp $ + * $Id: param.c,v 1.19 1996/05/10 19:28:32 wollman Exp $ */ #include "opt_sysvipc.h" @@ -89,6 +89,11 @@ int maxfiles = NPROC*2; /* system wide open files limit */ int maxfilesperproc = NPROC*2; /* per-process open files limit */ int ncallout = 16 + NPROC; /* maximum # of timer events */ +#ifndef EXTRAVNODES +#define EXTRAVNODES 0 +#endif +int extravnodes = EXTRAVNODES; /* spare vnodes to allocate */ + /* maximum # of mbuf clusters */ #ifndef NMBCLUSTERS #define NMBCLUSTERS (512 + MAXUSERS * 16) diff --git a/sys/i386/conf/LINT b/sys/i386/conf/LINT index 5208535a851b..35ce831751f9 100644 --- a/sys/i386/conf/LINT +++ b/sys/i386/conf/LINT @@ -2,7 +2,7 @@ # LINT -- config file for checking all the sources, tries to pull in # as much of the source tree as it can. # -# $Id: LINT,v 1.258 1996/05/13 04:38:10 nate Exp $ +# $Id: LINT,v 1.259 1996/05/17 09:42:46 jkh Exp $ # # NB: You probably don't want to try running a kernel built from this # file. Instead, you should start from GENERIC, and add options from @@ -44,6 +44,16 @@ options CHILD_MAX=128 options OPEN_MAX=128 # +# Under some circumstances it is useful to have an extra number of +# vnode data structures allocated at boot time. In particular, +# usenet news servers can benefit if there are enough vnodes to +# cache the busiest newsgroup and overview directories. Beware that +# this is an expensive option, it consumes physical non-pageable ram. +# A busy news server may benefit from 10,000 extra vnodes or so. +# +options EXTRA_VNODES=1 + +# # A math emulator is mandatory if you wish to run on hardware which # does not have a floating-point processor. Pick either the original, # bogus (but freely-distributable) math emulator, or a much more @@ -258,7 +268,7 @@ options PORTAL #Portal filesystem options PROCFS #Process filesystem options UMAPFS #UID map filesystem options UNION #Union filesystem -# THis DEVFS is experimental but seems to work +# This DEVFS is experimental but seems to work options DEVFS #devices filesystem # Make space in the kernel for a MFS root filesystem. Define to the number diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 5208535a851b..35ce831751f9 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -2,7 +2,7 @@ # LINT -- config file for checking all the sources, tries to pull in # as much of the source tree as it can. # -# $Id: LINT,v 1.258 1996/05/13 04:38:10 nate Exp $ +# $Id: LINT,v 1.259 1996/05/17 09:42:46 jkh Exp $ # # NB: You probably don't want to try running a kernel built from this # file. Instead, you should start from GENERIC, and add options from @@ -44,6 +44,16 @@ options CHILD_MAX=128 options OPEN_MAX=128 # +# Under some circumstances it is useful to have an extra number of +# vnode data structures allocated at boot time. In particular, +# usenet news servers can benefit if there are enough vnodes to +# cache the busiest newsgroup and overview directories. Beware that +# this is an expensive option, it consumes physical non-pageable ram. +# A busy news server may benefit from 10,000 extra vnodes or so. +# +options EXTRA_VNODES=1 + +# # A math emulator is mandatory if you wish to run on hardware which # does not have a floating-point processor. Pick either the original, # bogus (but freely-distributable) math emulator, or a much more @@ -258,7 +268,7 @@ options PORTAL #Portal filesystem options PROCFS #Process filesystem options UMAPFS #UID map filesystem options UNION #Union filesystem -# THis DEVFS is experimental but seems to work +# This DEVFS is experimental but seems to work options DEVFS #devices filesystem # Make space in the kernel for a MFS root filesystem. Define to the number diff --git a/sys/kern/subr_param.c b/sys/kern/subr_param.c index f86e7496bc7c..92c06c13e134 100644 --- a/sys/kern/subr_param.c +++ b/sys/kern/subr_param.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.c 8.3 (Berkeley) 8/20/94 - * $Id: param.c,v 1.18 1996/05/02 14:19:18 phk Exp $ + * $Id: param.c,v 1.19 1996/05/10 19:28:32 wollman Exp $ */ #include "opt_sysvipc.h" @@ -89,6 +89,11 @@ int maxfiles = NPROC*2; /* system wide open files limit */ int maxfilesperproc = NPROC*2; /* per-process open files limit */ int ncallout = 16 + NPROC; /* maximum # of timer events */ +#ifndef EXTRAVNODES +#define EXTRAVNODES 0 +#endif +int extravnodes = EXTRAVNODES; /* spare vnodes to allocate */ + /* maximum # of mbuf clusters */ #ifndef NMBCLUSTERS #define NMBCLUSTERS (512 + MAXUSERS * 16) diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 95e632c1a8ba..ebebbf5c6b4c 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_subr.c 8.13 (Berkeley) 4/18/94 - * $Id: vfs_subr.c,v 1.52 1996/01/19 03:58:15 dyson Exp $ + * $Id: vfs_subr.c,v 1.53 1996/03/09 06:43:19 dyson Exp $ */ /* @@ -112,7 +112,7 @@ static int vfs_hang_addrlist __P((struct mount *mp, struct netexport *nep, void vntblinit() { - desiredvnodes = maxproc + vm_object_cache_max; + desiredvnodes = maxproc + vm_object_cache_max + extravnodes; TAILQ_INIT(&vnode_free_list); CIRCLEQ_INIT(&mountlist); diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 95e632c1a8ba..ebebbf5c6b4c 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_subr.c 8.13 (Berkeley) 4/18/94 - * $Id: vfs_subr.c,v 1.52 1996/01/19 03:58:15 dyson Exp $ + * $Id: vfs_subr.c,v 1.53 1996/03/09 06:43:19 dyson Exp $ */ /* @@ -112,7 +112,7 @@ static int vfs_hang_addrlist __P((struct mount *mp, struct netexport *nep, void vntblinit() { - desiredvnodes = maxproc + vm_object_cache_max; + desiredvnodes = maxproc + vm_object_cache_max + extravnodes; TAILQ_INIT(&vnode_free_list); CIRCLEQ_INIT(&mountlist); diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index ff1a687f6d17..d2c55cf7cb01 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vnode.h 8.7 (Berkeley) 2/4/94 - * $Id: vnode.h,v 1.31 1996/03/03 18:51:33 peter Exp $ + * $Id: vnode.h,v 1.32 1996/03/29 06:39:39 davidg Exp $ */ #ifndef _SYS_VNODE_H_ @@ -229,6 +229,7 @@ void vhold __P((struct vnode *)); */ extern struct vnode *rootvnode; /* root (i.e. "/") vnode */ extern int desiredvnodes; /* number of vnodes desired */ +extern int extravnodes; /* extra vnodes to allocate at boot */ extern int prtactive; /* nonzero to call vprint() */ extern struct vattr va_null; /* predefined null vattr structure */ |
