Return to BSD News archive
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!yeshua.marcam.com!MathWorks.Com!news2.near.net!news.delphi.com!usenet From: John Dyson <dysonj@delphi.com> Newsgroups: comp.os.386bsd.misc Subject: Re: Whats wrong with Linux networking ??? Date: Tue, 16 Aug 94 10:04:20 -0500 Organization: Delphi (info@delphi.com email, 800-695-4005 voice) Lines: 29 Message-ID: <Rg-zFSE.dysonj@delphi.com> References: <RSANDERS.94Aug9003813@hrothgar.mindspring.com> <32ll52$n7d@quagga.ru.ac.za> <1994Aug15.034939.20997@cs.brown.edu> <32ol5s$ck@euterpe.owl.de> <32qb60$ere@ra.nrl.navy.mil> NNTP-Posting-Host: bos1c.delphi.com X-To: Craig Metz <cmetz@sundance.itd.nrl.navy.mil> Craig Metz <cmetz@sundance.itd.nrl.navy.mil> writes: > I think, in general, a properly done merged VM/buffercache scenario >like Linux uses is the way to go. This what FreeBSD is doing, isn't it? The >old circa-Net/2 way of doing it, to have a fixed size buffercache, is most >frequently not the best way to go, though it's certainly easier to implement >and debug. There are some differences in the way that Linux does it as opposed to FreeBSD V2.0. Linux uses a dynamically sized buffer cache, and coherency is implemented as "special code" to alias the pages. FreeBSD will use the VM object cache for all (initially UFS and NFS) regular file data. This will allow full coherency as a side-effect of the implementation. Tests have shown that it will work fine. V2.0 will use the merged scheme initially for VREG files in UFS and NFS (due to deadlines), and eventually will be used for VREG, VBLK and VDIR files in all filesystems (except for those that choose to use the old interface -- hopefully none.) I agree that it is much easier to debug a fixed sized buffer cache, esp. considering the problems of hogging physical memory and trying to make the right choice as to what data is more important to keep. Actually, the new merged VM code is not really all that difficult, if the low level layers of the filesystem are changed to use the new interface. The problem happens when you try to use the old interface -- it gets yucky... John dyson@implode.root.com