From owner-freebsd-hackers Thu Mar 5 11:32:58 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA04368 for freebsd-hackers-outgoing; Thu, 5 Mar 1998 11:32:58 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from smtp03.primenet.com (smtp03.primenet.com [206.165.6.133]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA04357 for ; Thu, 5 Mar 1998 11:32:52 -0800 (PST) (envelope-from tlambert@usr06.primenet.com) Received: (from daemon@localhost) by smtp03.primenet.com (8.8.8/8.8.8) id MAA17023; Thu, 5 Mar 1998 12:32:51 -0700 (MST) Received: from usr06.primenet.com(206.165.6.206) via SMTP by smtp03.primenet.com, id smtpd017003; Thu Mar 5 12:32:50 1998 Received: (from tlambert@localhost) by usr06.primenet.com (8.8.5/8.8.5) id MAA02034; Thu, 5 Mar 1998 12:32:44 -0700 (MST) From: Terry Lambert Message-Id: <199803051932.MAA02034@usr06.primenet.com> Subject: Re: vm architecture of freebsd. To: rminnich@Sarnoff.COM (Ron G. Minnich) Date: Thu, 5 Mar 1998 19:32:43 +0000 (GMT) Cc: toor@dyson.iquest.net, hackers@FreeBSD.ORG In-Reply-To: from "Ron G. Minnich" at Mar 5, 98 02:05:00 pm X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > On Wed, 4 Mar 1998, John S. Dyson wrote: > > What exactly are the specific problems that need to be fixed? > > actually, there's a very long note I sent years ago to the freebsd list on > the problems. There are implementation problems, problems with VFS > interaction (e.g. NFS), but the ones which caused me trouble are > architectural. > > example: last time I checked, you can msync an mmap'ed page, and if it is > backed by NFS, the page is not really purged. The next time you fault on > the page, it's just pulled out of the NFS block cache. That's wrong. But > it's hard to fix because the VM system can't tell the VFS that it should > purge the page from its cache: the information is not available in the > arguments to the VFS from the VM. This is no longer true. Now there is an NFS specific putpages (if my last set of changes was committed, instead of the defaultops "fix" that was suggested as an alternative; I don't know which is the case, having been flooded at work and unable to update my source tree at home). At a minimum, you could call the generic putpages after uncaching the page. > Follow the VM fault path: at each level, information is added as more is > learned, but not all the information is passed down to the lower levels, > such as faulting VA, fault type, etc. This is I suppose good Information > Hiding policy, but it's bad for my needs. Also the VM tends to not > consult the underlying object for a number of cases, the worst one being > that if a write fault occurs on a read-only page, the VM will tend to > add write access without asking the VFS is that is ok. For an example of > how the VM ought to work, see, e.g. SunOS. Yes, I'm serious. The SunOS VM has a number of scaling and other problems. Even if we totally dismiss SMP, this is still an issue for async I/O, kernel threading, and any actual RealTime work that someone might want to do. 8-(. > Anyway this is a years old discussion I have gone into on this group > about once a year, so if there are archives more detail is in them. Since > Chuck Cranor has basically resolved my problems in Open- and Net-BSD, I'm > not as concerned with FreeBSD VM limitations at this point ... Well, I think you shouldn't abandom FreeBSD. You are doing sexy work, and that certainly benefits the community. There have been a number of changes for the better in the specific areas you outline, which will at least make it possible to do something about them, if it doesn't fix things already (I know the uncache fix isn't there...). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message