Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 07 Nov 1996 00:13:47 -0800
From:      David Greenman <dg@root.com>
To:        Thomas David Rivers <ponds!rivers@dg-rtp.dg.com>
Cc:        terry@lambert.org, dyson@freefall.freebsd.org, freebsd-hackers@freefall.freebsd.org
Subject:   Re: More info on the daily panics... 
Message-ID:  <199611070813.AAA02988@root.com>
In-Reply-To: Your message of "Wed, 06 Nov 1996 08:00:35 EST." <199611061300.IAA02838@lakes.water.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
>> >  ... description delete ...
>> >  
>> >  Err, umm, ... doesn't that only fix the "free vnode isn't"
>> > panic?  That's really not what I'm seeing... I'm seeing
>> > inode allocation panics coming from ffs_valloc.c.
>> 
>> No.  It fixes the freelist wrap error.
>
>  Ahh... I see...  I was going to elide your description,
>but I'll leave it in case others missed it...
>
>  Although this isn't the complete patch you discuss below,
>I believe it to be the proper fix for 2.1.5-STABLE....  I'm
>providing to a) Let others acquire it, b) Get this into 2.1.6,
>c) Ensure I understand the intent of your change.
>
> This patch doesn't use the nice macro, but it changes getnewvnode()
>to allocate a totally new node when we've wrapped around the end of
>the list...
>
> After Terry signs off on this, can someone get it committed to
>2.1.6 (nee 2.1.5-STABLE)...

   I think there is a lot of misinformation being bandied about this problem.
In the one case of this problem that I looked into, it was caused by the
v_usecount being negative. There was clearly one too many vrele's occuring
somewhere. It was not caused by any sort of "freelist wrap" condition. The
patch you've provided will kludge around the problem, but it is not in any
sense a "fix". Each time a vnode is deallocated too many times (and thus
v_usecount goes negative), you'll end up losing all of the vnodes on the
freelist that follow it (potentially several thousand) because the condition
will never go away. This is bad.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project



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