From owner-freebsd-fs Mon May 25 18:53:48 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA23200 for freebsd-fs-outgoing; Mon, 25 May 1998 18:53:48 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from ns1.yes.no (ns1.yes.no [195.119.24.10]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA23193 for ; Mon, 25 May 1998 18:53:45 -0700 (PDT) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [195.204.143.218]) by ns1.yes.no (8.8.7/8.8.7) with ESMTP id BAA07787; Tue, 26 May 1998 01:53:34 GMT Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id DAA12733; Tue, 26 May 1998 03:53:19 +0200 (MET DST) Message-ID: <19980526035319.63753@follo.net> Date: Tue, 26 May 1998 03:53:19 +0200 From: Eivind Eklund To: "John S. Dyson" Cc: michaelh@cet.co.jp, tlambert@primenet.com, fs@FreeBSD.ORG Subject: Re: May 17th UP machine 'panic' References: <19980525140435.34553@follo.net> <199805252236.RAA10906@dyson.iquest.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.89.1i In-Reply-To: <199805252236.RAA10906@dyson.iquest.net>; from John S. Dyson on Mon, May 25, 1998 at 05:36:36PM -0500 Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org (moved to fs@freebsd.org) On Mon, May 25, 1998 at 05:36:36PM -0500, John S. Dyson wrote: [... on vput...] > It is a very good idea to explicitly pass down curproc. I am still working > on SMP issues, and I believe that it will be a good investment. OK, let us just for the sake of argument say that I've got a rough patch (3 hours of work) and have put it on http://www.freebsd.org/~eivind/vput-proc.patch Where would I go from here? How do I test this without burning my filesystems? Have anybody got any testsuites they believe to be relevant? Oh, and can somebody tell me if cnp->cn_proc is generally usable as a 'relevant process pointer', or if I should keep it to areas where it is already used (as I did in the rough patch)? Eivind. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Mon May 25 20:08:25 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA05342 for freebsd-fs-outgoing; Mon, 25 May 1998 20:08:25 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from parkplace.cet.co.jp (parkplace.cet.co.jp [202.32.64.1]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id UAA05335 for ; Mon, 25 May 1998 20:08:22 -0700 (PDT) (envelope-from michaelh@cet.co.jp) Received: from localhost (michaelh@localhost) by parkplace.cet.co.jp (8.8.8/CET-v2.2) with SMTP id DAA13526; Tue, 26 May 1998 03:05:57 GMT Date: Tue, 26 May 1998 12:05:57 +0900 (JST) From: Michael Hancock To: Eivind Eklund cc: "John S. Dyson" , tlambert@primenet.com, fs@FreeBSD.ORG Subject: Re: May 17th UP machine 'panic' In-Reply-To: <19980526035319.63753@follo.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Tue, 26 May 1998, Eivind Eklund wrote: > (moved to fs@freebsd.org) > > On Mon, May 25, 1998 at 05:36:36PM -0500, John S. Dyson wrote: > [... on vput...] > > It is a very good idea to explicitly pass down curproc. I am still working > > on SMP issues, and I believe that it will be a good investment. > > OK, let us just for the sake of argument say that I've got a rough > patch (3 hours of work) and have put it on > http://www.freebsd.org/~eivind/vput-proc.patch > > Where would I go from here? How do I test this without burning my > filesystems? Have anybody got any testsuites they believe to be > relevant? I wish we had more testsuites, I've been using make world, testvn, and lmbench. I wrote testvn to track reference counting. See ~mch. You probably won't burn your filesystems, you might get panics. You should review and test as much as you can on your own and demonstrate some stability before you release it for broader testing. > Oh, and can somebody tell me if cnp->cn_proc is generally usable as a > 'relevant process pointer', or if I should keep it to areas where it > is already used (as I did in the rough patch)? You will often see ... struct proc *p = cnp->cn_proc; ... if the argument is used frequently in the function. It's usually relevant, but being consistent is probably fine. I won't have time to review it for a while. I need to finish vop_rename, which is a doozy, and things have gotten busy at work. Regards, Mike To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Tue May 26 04:00:35 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id EAA06010 for freebsd-fs-outgoing; Tue, 26 May 1998 04:00:35 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from ns1.yes.no (ns1.yes.no [195.119.24.10]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id EAA05605 for ; Tue, 26 May 1998 04:00:27 -0700 (PDT) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [195.204.143.218]) by ns1.yes.no (8.8.7/8.8.7) with ESMTP id LAA24166; Tue, 26 May 1998 11:00:10 GMT Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id MAA13772; Tue, 26 May 1998 12:59:55 +0200 (MET DST) Message-ID: <19980526125955.35385@follo.net> Date: Tue, 26 May 1998 12:59:55 +0200 From: Eivind Eklund To: Michael Hancock Cc: "John S. Dyson" , tlambert@primenet.com, fs@FreeBSD.ORG Subject: Re: May 17th UP machine 'panic' References: <19980526035319.63753@follo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.89.1i In-Reply-To: ; from Michael Hancock on Tue, May 26, 1998 at 12:05:57PM +0900 Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Tue, May 26, 1998 at 12:05:57PM +0900, Michael Hancock wrote: > You should review and test as much as you can on your own and demonstrate > some stability before you release it for broader testing. I'm using the Linus definitions for stability of the development kernel (this is an actual quote): "If it compiles, it is good - if it boots, is it perfect" ;-) I'll give it a shakeout - presently it is very, very rough. It is only compiled, not run - and I still haven't done much to make sure that vput() has proc available from a higher level (even though that often is easy to arrange). > > Oh, and can somebody tell me if cnp->cn_proc is generally usable as a > > 'relevant process pointer', or if I should keep it to areas where it > > is already used (as I did in the rough patch)? > > You will often see ... > > struct proc *p = cnp->cn_proc; > > ... if the argument is used frequently in the function. It's usually > relevant, but being consistent is probably fine. I'm thinking more of whether the value of cnp->cn_proc will be the correct process to pass down in all cases. As it is, I haven't used it except where it already was used in the same function. > I won't have time to review it for a while. I need to finish vop_rename, > which is a doozy, and things have gotten busy at work. That's OK. I don't have any particular need for this - I'm doing it because everybody seemed to agree that it was the way to go, but nobody else seemed to want to be bothered with doing it. Eivind. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Tue May 26 14:03:26 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA20083 for freebsd-fs-outgoing; Tue, 26 May 1998 14:03:26 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from parkplace.cet.co.jp (parkplace.cet.co.jp [202.32.64.1]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id OAA20062 for ; Tue, 26 May 1998 14:03:20 -0700 (PDT) (envelope-from michaelh@cet.co.jp) Received: from localhost (michaelh@localhost) by parkplace.cet.co.jp (8.8.8/CET-v2.2) with SMTP id VAA18054; Tue, 26 May 1998 21:02:02 GMT Date: Wed, 27 May 1998 06:02:02 +0900 (JST) From: Michael Hancock To: Eivind Eklund cc: "John S. Dyson" , tlambert@primenet.com, fs@FreeBSD.ORG Subject: Re: May 17th UP machine 'panic' In-Reply-To: <19980526125955.35385@follo.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Tue, 26 May 1998, Eivind Eklund wrote: > I'll give it a shakeout - presently it is very, very rough. It is > only compiled, not run - and I still haven't done much to make sure > that vput() has proc available from a higher level (even though that > often is easy to arrange). It's probably safer to just use the nearest proc to the vput() in question unless it's obvious. We can migrate to the top incrementally later as part of other changes. > I'm thinking more of whether the value of cnp->cn_proc will be the > correct process to pass down in all cases. As it is, I haven't used > it except where it already was used in the same function. That's a good strategy. cnp->cn_proc is correct in most cases but I can't say all cases. If the vnode was ref'ed and locked in namei() it's correct to use cnp->cn_proc. Regards, Mike To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Tue May 26 14:23:05 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA23313 for freebsd-fs-outgoing; Tue, 26 May 1998 14:23:05 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from ns1.yes.no (ns1.yes.no [195.119.24.10]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id OAA23301 for ; Tue, 26 May 1998 14:23:02 -0700 (PDT) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [195.204.143.218]) by ns1.yes.no (8.8.7/8.8.7) with ESMTP id VAA17323; Tue, 26 May 1998 21:22:47 GMT Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id XAA23944; Tue, 26 May 1998 23:22:45 +0200 (MET DST) Message-ID: <19980526232244.10114@follo.net> Date: Tue, 26 May 1998 23:22:44 +0200 From: Eivind Eklund To: Michael Hancock Cc: "John S. Dyson" , tlambert@primenet.com, fs@FreeBSD.ORG Subject: Re: May 17th UP machine 'panic' References: <19980526125955.35385@follo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.89.1i In-Reply-To: ; from Michael Hancock on Wed, May 27, 1998 at 06:02:02AM +0900 Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Wed, May 27, 1998 at 06:02:02AM +0900, Michael Hancock wrote: > On Tue, 26 May 1998, Eivind Eklund wrote: > > > I'll give it a shakeout - presently it is very, very rough. It is > > only compiled, not run - and I still haven't done much to make sure > > that vput() has proc available from a higher level (even though that > > often is easy to arrange). > > It's probably safer to just use the nearest proc to the vput() in question > unless it's obvious. We can migrate to the top incrementally later as > part of other changes. I'm thinking of the cases where there isn't any source of a proc pointer in the same function, but the calling function has one. Example: ufs_checkpath() is only called from sys/ufs/ufs/ufs_vnops.c, where a suitable process pointer is available. > > I'm thinking more of whether the value of cnp->cn_proc will be the > > correct process to pass down in all cases. As it is, I haven't used > > it except where it already was used in the same function. > > That's a good strategy. cnp->cn_proc is correct in most cases but I can't > say all cases. If the vnode was ref'ed and locked in namei() it's correct > to use cnp->cn_proc. OK, I'll try to do a use-trace for calling functions to find out where things come from, and whether it can be used more places. I have only 20 functions or so that needed to use curproc; tracing use for them won't be that much work. Eivind. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Thu May 28 10:57:23 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id KAA17996 for freebsd-fs-outgoing; Thu, 28 May 1998 10:57:23 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from boco.fee.vutbr.cz (boco.fee.vutbr.cz [147.229.9.11]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id KAA17957 for ; Thu, 28 May 1998 10:57:16 -0700 (PDT) (envelope-from xcejka00@dcse.fee.vutbr.cz) Received: from kazi.dcse.fee.vutbr.cz (kazi.dcse.fee.vutbr.cz [147.229.9.51]) by boco.fee.vutbr.cz (8.9.0/8.9.0) with ESMTP id TAA07098 for ; Thu, 28 May 1998 19:57:09 +0200 (MET DST) Received: from sts.dcse.fee.vutbr.cz (sts.dcse.fee.vutbr.cz [147.229.9.52]) by kazi.dcse.fee.vutbr.cz (8.8.8/8.8.8) with ESMTP id TAA05767 for ; Thu, 28 May 1998 19:57:06 +0200 (CEST) Received: (from xcejka00@localhost) by sts.dcse.fee.vutbr.cz (8.8.5/8.8.5) id RAA20583 for freebsd-fs@freebsd.org; Thu, 28 May 1998 17:57:09 GMT Message-Id: <199805281757.RAA20583@sts.dcse.fee.vutbr.cz> Subject: VFSs in -current: Are they working? To: freebsd-fs@FreeBSD.ORG Date: Thu, 28 May 1998 19:57:09 +0200 (MET DST) From: Cejka Rudolf X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org I'm reading news about -current since April and it seems to me that nobody has problems with virtual filesystems. And what about null layer & kern/6465? (Does anybody use null layer?) Or is this only my problem on my -current box? Should I write more information about kern/6465? I'm sorry, but I don't know, where I may search this critical bug. In VFS? Null layer looks too simple... In VM space? Are there still VM bugs? Any suggestions? (Please...) Thanks. -------------------------------------------------------------------------- Rudolf Cejka E-mail: xcejka00@dcse.fee.vutbr.cz Technical University of Brno, Faculty of El. Engineering and Comp. Science Bozetechova 2, 612 66 Brno, Czech Republic To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Sat May 30 19:15:12 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id TAA14048 for freebsd-fs-outgoing; Sat, 30 May 1998 19:15:12 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from ns1.yes.no (ns1.yes.no [195.119.24.10]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id TAA14042 for ; Sat, 30 May 1998 19:15:10 -0700 (PDT) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [195.204.143.218]) by ns1.yes.no (8.8.7/8.8.7) with ESMTP id CAA19424 for ; Sun, 31 May 1998 02:15:08 GMT Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id EAA09918; Sun, 31 May 1998 04:14:46 +0200 (MET DST) Message-ID: <19980531041446.54449@follo.net> Date: Sun, 31 May 1998 04:14:46 +0200 From: Eivind Eklund To: fs@FreeBSD.ORG Subject: componentnames to VOPs Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.89.1i Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Is there any documentation as to whether these should be locked by namei() or not? Ie, I can fairly easily find that VOP_MKNOD() is always called with a locked componentname, but if I introduce this as a requirement (due to new vput() paramteres), is there anywhere I can document it? Or even avoid checking everywhere... Eivind. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Sat May 30 19:51:24 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id TAA17051 for freebsd-fs-outgoing; Sat, 30 May 1998 19:51:24 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.15.68.22]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id TAA17046 for ; Sat, 30 May 1998 19:51:22 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id MAA28948; Sun, 31 May 1998 12:42:38 +1000 Date: Sun, 31 May 1998 12:42:38 +1000 From: Bruce Evans Message-Id: <199805310242.MAA28948@godzilla.zeta.org.au> To: eivind@yes.no, fs@FreeBSD.ORG Subject: Re: componentnames to VOPs Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Is there any documentation as to whether these should be locked by >namei() or not? vnodes are locked by namei() according to the LOCKPARENT and LOCKLEAF flags. I don't know what you mean by locking a componentname. If the parent isn't locked, then the information in the componentname may become stale. Mostly you don't care. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message From owner-freebsd-fs Sat May 30 20:27:54 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA21955 for freebsd-fs-outgoing; Sat, 30 May 1998 20:27:54 -0700 (PDT) (envelope-from owner-freebsd-fs@FreeBSD.ORG) Received: from ns1.yes.no (ns1.yes.no [195.119.24.10]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id UAA21937 for ; Sat, 30 May 1998 20:27:50 -0700 (PDT) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [195.204.143.218]) by ns1.yes.no (8.8.7/8.8.7) with ESMTP id DAA20959; Sun, 31 May 1998 03:27:42 GMT Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id FAA10219; Sun, 31 May 1998 05:27:19 +0200 (MET DST) Message-ID: <19980531052719.31196@follo.net> Date: Sun, 31 May 1998 05:27:19 +0200 From: Eivind Eklund To: Bruce Evans , fs@FreeBSD.ORG Subject: Re: componentnames to VOPs References: <199805310242.MAA28948@godzilla.zeta.org.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.89.1i In-Reply-To: <199805310242.MAA28948@godzilla.zeta.org.au>; from Bruce Evans on Sun, May 31, 1998 at 12:42:38PM +1000 Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Sun, May 31, 1998 at 12:42:38PM +1000, Bruce Evans wrote: > >Is there any documentation as to whether these should be locked by > >namei() or not? > > vnodes are locked by namei() according to the LOCKPARENT and LOCKLEAF > flags. I don't know what you mean by locking a componentname. If > the parent isn't locked, then the information in the componentname > may become stale. Mostly you don't care. I'm changing vput() to taking process as a parameter, partially to fix some problems where curproc is stale. Michael Hancock said it would be certain to be correct to use cnp->cn_proc only in the cases where the vnode is locked by namei() - but how do I know for parameters to VOP_XXX()? I can find out that it is correct right now farily easily, but the new requirement should probably be documented somewhere. Where do I put documentation for this requirement? Eivind. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message