Intel driver - DRI profiling

Thomas Hellström thomas at tungstengraphics.com
Fri Mar 14 06:32:16 PDT 2008


Lukas Hejtmanek wrote:
> On Fri, Mar 14, 2008 at 01:01:56AM +0100, Jakob Bornecrantz wrote:
>   
>> I'll try to explain as good as I can understand it myself.
>> The drm_bo_vm_nopfn (from here on called nopfn) is the function in the
>> kernel which handles page faults for clients accessing buffers who as
>> had its pages removed from its vm[1,2,3]. Playing around with buffer
>> pages and changing caching (which is sometimes required) is a rather
>> costly operation. If I remember things correctly it does not map all
>> pages on create & first drmBoMap call, and since nopfn does not map
>> all the pages at once several calls will be done to it on accessing a
>> whole buffer that is large.
>>     
>
> Thank you for explaination. However, I do not understand why this should
> happen when running glxgears.
>   
The driver is, in this case, continously allocating new buffers from the 
kernel to use as batch- and perhaps state buffers. Each new buffer 
allocation means new pages need to be allocated and faulted in using 
nopfn. This is costly.

/Thomas






More information about the xorg mailing list