diff options
author | Bob Beck <beck@cvs.openbsd.org> | 2007-08-07 04:32:46 +0000 |
---|---|---|
committer | Bob Beck <beck@cvs.openbsd.org> | 2007-08-07 04:32:46 +0000 |
commit | 2d5b677a9e990c57ed21b7fe0b972373d7258107 (patch) | |
tree | 4ca9ac1a405795b3892be0739623f5c40bd3b5f4 /sys/kern/vfs_subr.c | |
parent | 27ce1dca8fd2447fb99333a0f6166ef7ed8bae7b (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.c | 9 |
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); |