Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Jul 2000 15:39:19 +0200
From:      Adrian Chadd <adrian@FreeBSD.ORG>
To:        Marius Bendiksen <mbendiks@eunet.no>
Cc:        Duane Wessels <wessels@ircache.net>, freebsd-fs@FreeBSD.ORG
Subject:   Re: [kern/19479] Re: vnode/inode starvation
Message-ID:  <20000715153918.B22865@ywing.creative.net.au>
In-Reply-To: <Pine.BSF.4.05.10007150021180.20991-100000@login-1.eunet.no>; from mbendiks@eunet.no on Sat, Jul 15, 2000 at 12:23:50AM %2B0200
References:  <Pine.SGI.4.10.10006261802260.9671-100000@surf.ircache.net> <Pine.BSF.4.05.10007150021180.20991-100000@login-1.eunet.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jul 15, 2000, Marius Bendiksen wrote:
> As noone seems to have touched the PR, you might want to try the following
> patch:
> 
> --- ffs_vfsops.c.orig	Sat Jul 15 00:24:10 2000
> +++ ffs_vfsops.c	Sat Jul 15 00:24:43 2000
> @@ -1038,9 +1038,9 @@
>  	/* Allocate a new vnode/inode. */
>  	error = getnewvnode(VT_UFS, mp, ffs_vnodeop_p, &vp);
>  	if (error) {
>  		if (ffs_inode_hash_lock < 0)
> -			wakeup(&ffs_inode_hash_lock);
> +			wakeup_one(&ffs_inode_hash_lock);
>  		ffs_inode_hash_lock = 0;
>  		*vpp = NULL;
>  		FREE(ip, ump->um_malloctype);
>  		return (error);
> @@ -1067,9 +1067,9 @@
>  	 */
>  	ufs_ihashins(ip);
>  
>  	if (ffs_inode_hash_lock < 0)
> -		wakeup(&ffs_inode_hash_lock);
> +		wakeup_one(&ffs_inode_hash_lock);
>  	ffs_inode_hash_lock = 0;
>  
>  	/* Read in the disk contents for the inode, copy into the inode. */
>  	error = bread(ump->um_devvp, fsbtodb(fs, ino_to_fsba(fs, ino)),
> --eof--
> 
> It's also available from my homepage at
> 	http://home.eunet.no/~mbendiks/patches/ffs-fix2.patch

Hrm, if I remember right, you said this is fixed in 4.0, right?
The problem Duane was seeing felt more like something not properly
releasing vnodes, causing them to pile up rather than being recycled.
I haven't got any comments on the above patch except that if you have
a lot of busy filesystems which constantly create/delete inodes then
it should speed things up a little ..



Adrian

-- 
Adrian Chadd			Build a man a fire, and he's warm for the
<adrian@FreeBSD.org>		rest of the evening. Set a man on fire and
				he's warm for the rest of his life.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000715153918.B22865>