linux-mips
[Top] [All Lists]

Re: VC exceptions

To: "Kevin D. Kissell" <kevink@mips.com>
Subject: Re: VC exceptions
From: Ralf Baechle <ralf@oss.sgi.com>
Date: Mon, 1 May 2000 09:47:50 +0200
Cc: Florian Lohoff <flo@rfc822.org>, linux@cthulhu.engr.sgi.com
In-reply-to: <002801bfb2e9$d0bec2f0$0ceca8c0@satanas.mips.com>; from kevink@mips.com on Sun, Apr 30, 2000 at 11:19:41PM +0200
References: <002801bfb2e9$d0bec2f0$0ceca8c0@satanas.mips.com>
Sender: owner-linuxmips@oss.sgi.com
On Sun, Apr 30, 2000 at 11:19:41PM +0200, Kevin D. Kissell wrote:

> >Apropriate placement of mappings in the address space isn't always possible.
> >MAP_FIXED is one example.  Aliases in the page cache are harder to handle. 
> >If one of the page cache mappings is writable then readers may even observe 
> >stale data or in worst  case stale data being written to disk.
> 
> mmap() is allowed to fail.  I would think that,  if someone tries to force an 
> unsafe mapping, one should give them EINVAL if one doesn't want to deal 
> with the special case otherwise, or create a copy-on-write clone in a safe
> physical page if one wants to be extra-specially nice...

I'm only worried because I don't know how much software such a change
would break.

IRIX uses something they call page ownership switching.  Essentially they
ensure that only mappings of one colour are accessible at any time.
Accessing a page's mapping of a different colour will make the mm flush
caches, make the old colour inaccessible and the new colour accessible
in the page tables.  That requires a reverse mapping of physical to virtual
addresses, something that Linus so far has always refused to accept.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>