Date: Tue, 8 Apr 1997 19:29:59 +0900 (JST) From: Michael Hancock <michaelh@cet.co.jp> To: Terry Lambert <terry@lambert.org> Cc: current@FreeBSD.ORG, freebsd-fs@FreeBSD.ORG Subject: Re: DISCUSS: vnode references as open instances Message-ID: <Pine.SV4.3.95.970408185516.10389B-100000@parkplace.cet.co.jp> In-Reply-To: <199704032343.QAA17773@phaeton.artisoft.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Terry, I think it will be hard to get support to change ufs this drastically at this time since Kirk is working on soft updates. And there is also quite of a bit of community interest in having a trusted stable fs implementation to fall back on. How you considered what Netcom? did with tfs? It seems they use their own vnode allocation scheme. I vaguely remember seeing changes made to allow this. If you wanted to make even more radical changes Heidemann's papers discuss using a compatibility layer between the consumer of the old interface and a new framework. This would give you more leeway for big changes like reimplementing ufs without the outdated cylinder group layout stuff, etc. I know it's easier said then done and there might be some restrictions, but I think you would get more support with this strategy. Regards, Mike Hancock On Thu, 3 Apr 1997, Terry Lambert wrote: > I am looking for discussion, pro and con. > > ----------------------------------------------------------------------------- > > I believe that vnode references should be treated as counting > semaphores. > > Currently, reference holders are net required to count references > in all cases. > > The purpose of this change would be to significantly clean up > the vnode reference interactions to provide a meaningful > seperation between vnode maintenance and vnode reclamation, > with the eventual intention of removing the need for vclean() > and the duplication of code in each per FS VOP_LOCK implementation. > > > This change would affect the directory name lookup cache code > (for which a vnode reference in a cache would be very much the > same as an open instance for a vnode reference by a system open > file table reference), as well as several other subsystems. > > > Though vnodes are currently globally accounted, I beleive that > there should be a per FS interface, initially to the global > accounting interface, for freeing vnodes in an FS specific > manner. > > The eventual intent of this change is to allow per-FS management > of vnodes as part of the FS's [*,i]node pool, and to therefore > relieve the need for global vnode pool management, and thus global > recovery of vnodes for reuse. > > > This would be similar in scope to the SVR4 vnode management scheme, > as described in "The Magic Garden Explained" and the _Bach_ book. > > > One large benefit of this technique would be to allow the recovery > of unreferenced vnodes from per FS "second chance" caches, like > the FFS "ihash" facility, and therfore the recovery of perfectly > valid memory pages that refere to a referenced per FS object. > > Currently, there is no recovery mechanism whereby the valid pages > can be re-referenced for use once the vnode had been disassociated > from the per-FS object, but not from the valid pages. > > When a reference which references these pages occurs, the data, > though in core, cannot be reclaimed, and must be reread from > disk. > > ----------------------------------------------------------------------------- > > > Regards, > Terry Lambert > terry@lambert.org > --- > Any opinions in this posting are my own and not those of my present > or previous employers. > -- 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SV4.3.95.970408185516.10389B-100000>