Re: R200 ReadPixels optimization / AGP

2004-10-07 Thread Alan Cox
On Iau, 2004-10-07 at 15:40, Ville Syrjl wrote:
 Why can't we make AGP memory cached? Wouldn't it be enought to flush the 
 caches at some critical points?

Possibly although it is not trivial to see how we get that right,
especially with the 4Mb kernel maps. The x86 processor cannot handle a
page being mapped both cached and uncached at once. Even more excitingly
this includes implicit suprise caching by the CPU (speculative and
hardware prefetch). This is more a TLB than cache issue.

 I was playing around with DirectFB and AGP some years ago and enabling 
 write-back caching didn't seem to have any side effects. Without caching 
 AGP is almost as bad as video memory for sw fallbacks.

It would be nice to get cacheable AGP but that means some fairly hairy
things especially on SMP systems. Pulling a page out of AGP doing a TLB
shootdown for it, and then putting it back after wbinvd might work. 

One to talk to the processor people about.



---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: R200 ReadPixels optimization / AGP

2004-10-07 Thread Keith Whitwell
Alan Cox wrote:
On Iau, 2004-10-07 at 15:40, Ville Syrjl wrote:
Why can't we make AGP memory cached? Wouldn't it be enought to flush the 
caches at some critical points?

Possibly although it is not trivial to see how we get that right,
especially with the 4Mb kernel maps. The x86 processor cannot handle a
page being mapped both cached and uncached at once. Even more excitingly
this includes implicit suprise caching by the CPU (speculative and
hardware prefetch). This is more a TLB than cache issue.

I was playing around with DirectFB and AGP some years ago and enabling 
write-back caching didn't seem to have any side effects. Without caching 
AGP is almost as bad as video memory for sw fallbacks.

It would be nice to get cacheable AGP but that means some fairly hairy
things especially on SMP systems. Pulling a page out of AGP doing a TLB
shootdown for it, and then putting it back after wbinvd might work. 

One to talk to the processor people about.
I think the traditional path is to pull pages into  out of the agp table. 
So, blit to agp, then remove those pages from the gart table and (somehow) 
make them cacheable and allow the client to access them directly.

Keith
---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel