Intel driver - DRI profiling
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.
More information about the xorg