Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Apr 2005 13:38:30 -0700
From:      Alfred Perlstein <alfred@freebsd.org>
To:        Jeff Roberson <jeff@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern vfs_subr.c
Message-ID:  <20050404203830.GB60345@elvis.mu.org>
In-Reply-To: <200504041143.j34Bhjar031386@repoman.freebsd.org>
References:  <200504041143.j34Bhjar031386@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
* Jeff Roberson <jeff@FreeBSD.org> [050404 04:43] wrote:
> jeff        2005-04-04 11:43:44 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/kern             vfs_subr.c 
>   Log:
>    - Instead of waiting forever to get a vnode in getnewvnode() wait for
>      one to become available for one second and then return ENFILE.  We
>      can run out of vnodes, and there must be a hard limit because without
>      one we can quickly run out of KVA on x86.  Presently the system can
>      deadlock if there are maxvnodes directories in the namecache.  The
>      original 4.x BSD behavior was to return ENFILE if we reached the max,
>      but 4.x BSD did not have the vnlru proc so it was less profitable to
>      wait.

This sounds really bad, can't a callback be made into the
namecache first to purge unused records before doing this?

Or is there already some sort of facility that already does
this?

-- 
- Alfred Perlstein
- Research Engineering Development Inc.
- email: bright@mu.org cell: 408-480-4684



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