map user space memory as gart memory for intel integrated graphics chip

Keith Whitwell keith at tungstengraphics.com
Thu Dec 8 05:35:01 PST 2005


Alan Cox wrote:
> On Iau, 2005-12-08 at 19:52 +0800, Austin Yuan wrote:
> 
>>buffer. Because the interface of "alloc_by_type" only receives a
>>simple parameter "type", here I hide the user space address into
>>"type" and re-get it in alloc_userspace_memory.
> 
> 
> That should probably be fixed by extending the API to pass both
> 
> 
>>I use this interface to easily implement XAA readpixmap/imagewrite
>>driver interfaces, and get a better performance. Here, I didn't attach
>>the patch for i810 driver. I just want to get some comments about it,
>>and if you think it makes sense, I'd like to make it more generic.
>>
>>Any comments are appreciated, thanks.
> 
> 
> 
> The one thing I don't understand looking at this is that I understood
> AGP pages should be marked uncached. However user space pages may exist
> in many mappings and the CPU also requires all mappings of a page are
> consistent.
> 
> Does i8xx need the page uncached or is it enough to wbinvd the pages in
> question on writing and invalidate them before reading, or does the i8xx
> in fact take full part in the cache coherency ?

I believe the hardware can deal with both cases, and has rules for what uses 
each type of memory can be applied to.  I think that it's ok to use snooped 
memory (in their parlance) for upload type tasks, but not for things like render 
destinations.  I'll try and be more specific when I get time to review the docs.

I'm pleased to see someone has taken on this much-talked about task.  Austin - 
have you gotten any feel for how quick this sort of "upload" might be?

Keith



More information about the xorg mailing list