From owner-freebsd-hackers Thu Mar 5 11:06:40 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA00915 for freebsd-hackers-outgoing; Thu, 5 Mar 1998 11:06:40 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from terra.Sarnoff.COM (terra.sarnoff.com [130.33.11.203]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id LAA00814 for ; Thu, 5 Mar 1998 11:06:24 -0800 (PST) (envelope-from rminnich@Sarnoff.COM) Received: (from rminnich@localhost) by terra.Sarnoff.COM (8.6.12/8.6.12) id OAA03715; Thu, 5 Mar 1998 14:05:01 -0500 Date: Thu, 5 Mar 1998 14:05:00 -0500 (EST) From: "Ron G. Minnich" X-Sender: rminnich@terra To: "John S. Dyson" cc: hackers@FreeBSD.ORG Subject: vm architecture of freebsd. In-Reply-To: <199803050138.UAA03356@dyson.iquest.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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. 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. 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 ... I also provided some fixes for the VM to support the MNFS that ran on 2.0.5R, but these were never adopted. thanks ron To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message