summaryrefslogtreecommitdiff
path: root/sys/kern/vfs_subr.c
diff options
context:
space:
mode:
authorBob Beck <beck@cvs.openbsd.org>2007-08-07 04:32:46 +0000
committerBob Beck <beck@cvs.openbsd.org>2007-08-07 04:32:46 +0000
commit2d5b677a9e990c57ed21b7fe0b972373d7258107 (patch)
tree4ca9ac1a405795b3892be0739623f5c40bd3b5f4 /sys/kern/vfs_subr.c
parent27ce1dca8fd2447fb99333a0f6166ef7ed8bae7b (diff)
A few changes to deal with multi-user performance issues seen. this
brings us back roughly to 4.1 level performance, although this is still far from optimal as we have seen in a number of cases. This change 1) puts a lower bound on buffer cache queues to prevent starvation 2) fixes the code which looks for a buffer to recycle 3) reduces the number of vnodes back to 4.1 levels to avoid complex performance issues better addressed after 4.2 ok art@ deraadt@, tested by many
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r--sys/kern/vfs_subr.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index a8b6aba5047..f39b05bcc05 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vfs_subr.c,v 1.154 2007/06/01 17:29:10 beck Exp $ */
+/* $OpenBSD: vfs_subr.c,v 1.155 2007/08/07 04:32:45 beck Exp $ */
/* $NetBSD: vfs_subr.c,v 1.53 1996/04/22 01:39:13 christos Exp $ */
/*
@@ -120,12 +120,7 @@ void
vntblinit(void)
{
/* buffer cache may need a vnode for each buffer */
- /*
- * XXX note this is different from desiredvnodes, which is
- * XXX the old static value computed from MAXUSERS which is
- * XXX used for sizing may other subsystems (namecache, softdeps, etc)
- */
- maxvnodes = bufpages;
+ maxvnodes = desiredvnodes;
pool_init(&vnode_pool, sizeof(struct vnode), 0, 0, 0, "vnodes",
&pool_allocator_nointr);
TAILQ_INIT(&vnode_hold_list);