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>