Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Apr 2005 17:48:47 -0500 (CDT)
From:      Mike Silbersack <silby@silby.com>
To:        Jeff Roberson <jroberson@chesapeake.net>
Cc:        src-committers@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern vfs_subr.c
Message-ID:  <20050404174244.W922@odysseus.silby.com>
In-Reply-To: <20050404173257.R54623@mail.chesapeake.net>
References:  <200504041143.j34Bhjar031386@repoman.freebsd.org> <20050404173257.R54623@mail.chesapeake.net>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mon, 4 Apr 2005, Jeff Roberson wrote:

> Well, the vnlruproc will try to vgone vnodes when we reach 9/10th of our
> limit.  However, it skips directories that have valid children.  Perhaps
> it shouldn't.  I think that we need to be able to fail from getnewvnode(),
> which we weren't doing before.  We should also try to find more ways to
> deal with resource starvation to make this failure less likely, but there
> will always be cases where it must happen.

If I'm not mistaken, the biggest consumer of vnodes on my (desktop) system 
is locate.updatedb - it takes my numvnodes from ~5000 to ~28000, and 
desiredvnodes is 34177 here.

Is there some sort of MRU scheme that could preemptively free these 
useless vnode allocations?  I know that doesn't address how to handle real 
OOM situations, but perhaps reducing the number of vnodes allocated for 
useless purposes would help the overall situation.

Mike "Silby" Silbersack



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