Regression introduced in drm/i915 kernel modules for 965GM system

Richard Goedeken SirRichard at fascinationsoftware.com
Wed Jan 30 09:35:27 PST 2008


Jesse Barnes wrote:
>> I ran my emulator and glxgears quite a few times and everything
>> worked ok.  I thought the problem was fixed, because with the
>> unpatched code the system would slow down after running an opengl
>> program only once or twice.  So I decided to test for the memory
>> leak, and I found that it is still present.  I opened the system
>> monitor and started glxgears.  Over about 5 minutes the memory usage
>> of the glxgears process steadily creeped up to about 1GB before I
>> killed it.
> 
> Hm, ok.  I'm not familiar with the memory leak problem, maybe you can 
> bisect your Mesa tree to find which patch caused it?

I ran glxgears in valgrind and verified a huge memory leak.  Then I rebuilt all 
the drivers in order to run another valgrind test with debug symbols, and the 
memory leak went away.  It's like magic. :)  I must have been installing one of 
the components in the wrong place or something.  At the same time, I stopped 
seeing the "Failed to initialize TTM buffer manager" message; perhaps the two 
were related.

Anyway, now I see another 3D rendering bug when running my emulator.  Previously 
I had seen this artifact in the 32-bit build (but not 64-bit), but now it's 
present in both builds.  I'll see if I can create a 'glean' test or something 
similar to reproduce the issue.

Does anyone have a link to something that clearly explains how the whole display 
system works, and the roles for and relationships between the various 
components?  In particular, it would be nice to have a better understanding of 
how all of these things work together:

  - drm.ko, i915.ko
  - libdrm.so
  - XOrg server
  - libdri.so
  - 2D driver (intel_drv.so)
  - 3D driver (i965_dri.so)
  - Mesa (libGL.so)

I found some good information on the DRI wiki, but it mostly explains the lower 
level stuff (kernel modules).  There's no explanation of the interactions 
between the 2D and 3D drivers, and Mesa.

Richard



More information about the xorg mailing list