Subject: Re: LKM support
To: Bill Sommerfeld <sommerfeld@orchard.medford.ma.us>
From: Curt Sampson <cjs@portal.ca>
List: current-users
Date: 11/11/1996 09:11:00
On Mon, 11 Nov 1996, Bill Sommerfeld wrote:

> On some systems (typically those using inverted page tables or
> virtually-addressed caches; I'm thinking in particular of the IBM RT
> and the HP PA...), random page-flipping like this can be more
> expensive than copying, because you can't have a page mapped at
> "random" virtual addresses at the same time in different processes, so
> you have to flush one mapping, flush/purge any references in the cache
> to that page, and take a sharing fault when you need the original
> mapping again.

This is curious. How do these systems deal with two processes doing
an mmap() on the same file starting at different addresses?

Thinking about it, an optimal MFS for a system with merged VM/buffer
cache is quite simple (assuming that VM works as I read it in _The
Magic Garden Explained_). The filesystem would keep the inode
information internally, so it would never see the buffer cache for
metadata. A new file would be just a new anonymous VM object which
would be similar to any other VM object used to map in a file,
except it would be backed by swap, rather than by the filesystem.
The only problem is that you can't have just pieces of the file
mapped, as you do with regular files, and so the limit on file size
is some small fraction of your address space (which is not a problem
on 64 bit machines, of course, and for something like a temporary
filesystem, probably not even much of a problem on 32-bit system).

cjs

Curt Sampson    cjs@portal.ca		Info at http://www.portal.ca/
Internet Portal Services, Inc.	
Vancouver, BC   (604) 257-9400		De gustibus, aut bene aut nihil.