radeon, apertures & memory mapping

Benjamin Herrenschmidt benh at kernel.crashing.org
Sun Mar 13 16:54:49 PST 2005


On Sun, 2005-03-13 at 19:25 -0500, Jon Smirl wrote:
> On Mon, 14 Mar 2005 10:48:19 +1100, Benjamin Herrenschmidt
> <benh at kernel.crashing.org> wrote:
> > 
> > > > That shouldn't matter the page brought in would be for a speculative
> > > > read and never accessed. It should just fall out of the cache and not
> > > > be written back. There is only one cachable mapping. In this model
> > > > writes are always followed by a flush before telling the GPU to access
> > > > the memory that has just been written.
> > >
> > > What about this scenario?
> > >
> > > Speculative read -> AGP master writes new data -> CPU has invalid data in
> > > cache :(
> > 
> 
> You need to reverse the cache flush process if you are going to read
> data written by the GPU.
> 
> 1) Make sure GPU is finished writing
> 2) flush your cache
> 3) read AGP memory like normal RAM.

We call that kind of flush an "invalidate" in fact :)

Ben.





More information about the xorg mailing list