Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Mar 1996 13:04:36 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        sysseh@devetir.qld.gov.au (Stephen Hocking)
Cc:        bugs@FreeBSD.org, current@FreeBSD.org
Subject:   Re: ufs_valloc: dup whatever
Message-ID:  <199603072004.NAA14613@phaeton.artisoft.com>
In-Reply-To: <199603070758.HAA10277@netfl15a.devetir.qld.gov.au> from "Stephen Hocking" at Mar 7, 96 05:58:39 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> Just noticed something really curious - I was running two makes at once, and 
> somehow the output of one compilation (an assembler file of all things) 
> appeared in the middle of a .depend file of a make depend! Help! Terry, John & 
> David, what's going on?

At a guess, I'd say Bruce was the best one to ask.

It looks like the VREF/vrele code on the directory traversal has caused
a vnode with a non-zero reference count to get onto the free list.  I
can't say I didn't expect this.

It looks like the new pager code being more agressive in recovery is
what revealed the traversal race condition.

These are just guesses... unfortunately, I can't do anything about
any of this, except to recommend going back to a checked out tree
of the 1st or 2nd at the latest and waiting for it to be fixed.

This is obviously related to your other posting in this thread.

Rather than posting each additional problem as you see it, you should
work with Bruce, David, and John on resolving the problem using your
system as a test bed.

I think that otherwise the cascade factor will cause you to post 10
or more problems all related to the same two codependent code changes;
the symptoms you've reported so far should be sufficient to resolve
the problem.



PS: Is it possible that you are running with my "free vnode isn't"
kludge fix?  I believe this will interact badly with the VREF/vrele
changes... if you are, you should remove my kludge, and get around
the problem by cranking up numvnodes where the calculation takes
place to set it up in the first place ("numvnodes *= 3;" or something
similar).


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



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