On Thu, Apr 27, 2000 at 08:12:14PM +0200, Kevin D. Kissell wrote:
> It's a thing that can happen whenever caches are
> virtually indexed (for speed) but physically tagged
> (for correctness), and caches get large enough for
> the algorithm to be wrong once in a while. They can
> be avoided with a little thought and overhead in the
> assignment of physical pages to virtual addresses.
> Gimme a day or so to look at the code, and I'll propose
> a fix for Linux...
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.
Btw, the creators of the MIPS ABI were smart, they specified a sufficiently
large value for SHMLBA such that we don't need to care about SysV IPC.