From owner-freebsd-current Tue Sep 28 2: 6:39 1999 Delivered-To: freebsd-current@freebsd.org Received: from not.demophon.com (ns.demophon.com [193.65.70.13]) by hub.freebsd.org (Postfix) with ESMTP id 5734A150EF for ; Tue, 28 Sep 1999 02:06:28 -0700 (PDT) (envelope-from will@not.demophon.com) Received: (from will@localhost) by not.demophon.com (8.9.3/8.8.7) id MAA18772; Tue, 28 Sep 1999 12:06:23 +0300 (EEST) (envelope-from will) To: Kenneth Culver Cc: current@freebsd.org Subject: Re: just found this References: From: Ville-Pertti Keinonen Date: 28 Sep 1999 12:06:18 +0300 In-Reply-To: Kenneth Culver's message of "28 Sep 1999 06:54:04 +0300" Message-ID: <867llb1k39.fsf@not.demophon.com> Lines: 24 X-Mailer: Gnus v5.5/XEmacs 20.4 - "Emerald" Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Kenneth Culver writes: > I ran this on a machine running FreeBSD 3.2-RELEASE with 256MB of RAM, > and it chugged along to about `02/03000' (meaning it created 3 files > and about 63000 or so links), consuming a whopping 34MB of wired > kernel memory (according to `top'), before all file system activity > came to a screeching halt and the machine was unusable. Looking at the code, it would seem that the number of directories is what's causing problems (one is created for each link). The directory vnodes can't be thrown out because a name cache entry exists in each one. All of the name cache entries point to the same vnode, which can't be thrown out because it is open. So the main problem here is that one open vnode can be used to lock in an arbitrary number of vnodes. This should actually be fixed by something I did as part of some patches I played with earlier this year, avoiding the need to force parent directories of vnodes to be kept in memory. I'll try to come up with a version that works against -current and doesn't contain of the other (experimental) features of the earlier patches. IIRC the part required to allow parent vnodes to be reused is quite simple. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message