Subject: Re: bus_space and barriers
To: Chris Torek <torek@BSDI.COM>
From: Nathan J. Williams <nathanw@MIT.EDU>
List: tech-kern
Date: 10/25/2000 00:29:57
<torek@bsdi.com> (Chris Torek) writes:

> I think the only really sane way to express this all is with a
> "topological map" and a compiler that goes from the map to the
> native instruction set.  The "default map" could then be the 100%
> safe "all read and write ops must be in sequence", and if you wanted
> to optimize any given driver, you would write up a real map for
> it:  "reads of X may be deferred until Y occurs", etc.  The
> "map-optimizing compiler" would translate those into wmb()s, or
> membar("#StoreLoad"), or whatever the target machine uses, as
> appropriate.  This is a fairly tall order, though.

You should look at the "Commit-Reconcile & Fences" memory abstraction
developed by Arvind and Xiaowei Shen. It addresses many of these
issues. 

http://www.csg.lcs.mit.edu/crf/ for information and published papers.

        - Nathan