Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 May 1998 20:55:44 +0900 (JST)
From:      Michael Hancock <michaelh@cet.co.jp>
To:        Eivind Eklund <eivind@yes.no>
Cc:        Terry Lambert <tlambert@primenet.com>, freebsd-current@FreeBSD.ORG
Subject:   Re: May 17th UP machine 'panic'
Message-ID:  <Pine.SV4.3.95.980525202320.10356A-100000@parkplace.cet.co.jp>
In-Reply-To: <19980525122507.46281@follo.net>

next in thread | previous in thread | raw e-mail | index | archive | help
The argument should be p or curproc depending on whether or not an
appropriate proc p is defined. I suppose you could just search and replace
adding curproc, but that's ugly.  We might have to bite the bullet and do
it sometime later.

BTW, I noticed that vrele() also uses curproc in the usecount == 1 case
so if it is possible for usecount to be 1 then the following would be be
necessary: 

VREF(vp);
vrele(vp);
VOP_UNLOCK(vp, 0, p);
vrele(vp); /* This one possibly does vn_lock() and VOP_INACTIVE() */

Regards,


Mike

On Mon, 25 May 1998, Eivind Eklund wrote: 

> On Mon, May 25, 1998 at 06:59:01AM +0900, Michael Hancock wrote:
> > Tor might have identified the problem.  vput() doesn't take a process
> > argument and always uses curproc.  I suggested splitting up the offending
> > vput() into vrele() and VOP_UNLOCK().
> > 
> > So I guess you are right, vput() is assymetric in that it doesn't take a
> > proc arg, but this would be too much work to fix.
> 
> How?  If it is usually only interested in curproc, doing a search/replace
> shouldn't be too hard.  It is used "only" about 300 places ;-)
> (There are about five calls to vput that is used on another call, to create
> trouble for a straight regexp replace.  Not so much it would make it hard to
> handle.)
> 
> I don't know which effect such a change would have on performance - that's
> for you expert to answer :-)
> 
> Eivind.
> 

--
michaelh@cet.co.jp                                http://www.cet.co.jp
CET Inc., Daiichi Kasuya BLDG 8F, 2-5-12 Higashi Shinbashi, Minato-ku,
Tokyo 105 Japan              Tel: +81-3-3437-1761 Fax: +81-3-3437-1766


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SV4.3.95.980525202320.10356A-100000>