summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/conf/NOTES14
-rw-r--r--sys/conf/options3
-rw-r--r--sys/conf/param.c7
-rw-r--r--sys/i386/conf/LINT14
-rw-r--r--sys/i386/conf/NOTES14
-rw-r--r--sys/kern/subr_param.c7
-rw-r--r--sys/kern/vfs_export.c4
-rw-r--r--sys/kern/vfs_subr.c4
-rw-r--r--sys/sys/vnode.h3
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 */