Increased ratio of allowed vnodes on freelist to 1/4th of the total. This
is more representative of worst case situations of 4 files/directory. (If that last sentence doesn't make any sense, I'm not surprised. It's rather compilcated how this all fits together....). This should fix a problem that Ed Hudson has been complaining about where directories with lots of symlinks could cause excessive disk I/O.
This commit is contained in:
parent
8af2296bcb
commit
15f1b09648
|
@ -36,7 +36,7 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)vfs_subr.c 8.13 (Berkeley) 4/18/94
|
||||
* $Id: vfs_subr.c,v 1.27 1995/04/09 06:02:46 davidg Exp $
|
||||
* $Id: vfs_subr.c,v 1.28 1995/04/16 11:33:33 davidg Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -333,10 +333,10 @@ getnewvnode(tag, mp, vops, vpp)
|
|||
* is a silly thing to do.
|
||||
* 2. we havn't filled our pool yet
|
||||
* We don't want to trash the incore (VM-)vnodecache.
|
||||
* 3. if less that 1/16th of our vnodes are free.
|
||||
* 3. if less that 1/4th of our vnodes are free.
|
||||
* We don't want to trash the namei cache either.
|
||||
*/
|
||||
if (freevnodes < (numvnodes >> 4) ||
|
||||
if (freevnodes < (numvnodes >> 2) ||
|
||||
numvnodes < desiredvnodes ||
|
||||
vp == NULL) {
|
||||
vp = (struct vnode *) malloc((u_long) sizeof *vp,
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)vfs_subr.c 8.13 (Berkeley) 4/18/94
|
||||
* $Id: vfs_subr.c,v 1.27 1995/04/09 06:02:46 davidg Exp $
|
||||
* $Id: vfs_subr.c,v 1.28 1995/04/16 11:33:33 davidg Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -333,10 +333,10 @@ getnewvnode(tag, mp, vops, vpp)
|
|||
* is a silly thing to do.
|
||||
* 2. we havn't filled our pool yet
|
||||
* We don't want to trash the incore (VM-)vnodecache.
|
||||
* 3. if less that 1/16th of our vnodes are free.
|
||||
* 3. if less that 1/4th of our vnodes are free.
|
||||
* We don't want to trash the namei cache either.
|
||||
*/
|
||||
if (freevnodes < (numvnodes >> 4) ||
|
||||
if (freevnodes < (numvnodes >> 2) ||
|
||||
numvnodes < desiredvnodes ||
|
||||
vp == NULL) {
|
||||
vp = (struct vnode *) malloc((u_long) sizeof *vp,
|
||||
|
|
Loading…
Reference in New Issue