[Intel-gfx] Memory usage in Intel driver

Lukas Hejtmanek xhejtman at ics.muni.cz
Mon Mar 9 13:16:02 CET 2009


On Mon, Mar 09, 2009 at 10:27:35AM +0100, Lukas Hejtmanek wrote:
> I played little bit with the Intel driver. I added exact instrumentation into
> Xserver so that I'm able to track pixmap allocation - who called
> uxa_create_pixmap.
> 
> For me, it looks like there is either leak in ProcRenderAddGlyphs or perhaps
> cairo is leaking pixmaps?
> 
> The format is like this:
> Pending 'bo name' ('howmany times'x handle) (this object is still referenced)
> Cached: 'bo name' (0x handle) (this object lives in bo caches)
> Pixmap: pixmap - 'caller name' count 'how many times' (still referenced)
> Cached: pixmap - 'caller name' count 'how many times' (unreferenced, in caches)

[...]
> Pixmap: pixmap - ProcCreatePixmap count 1078
> Pixmap: pixmap - createdefaultstiple count 1
> Pixmap: pixmap - compNewPixmap count 1
> Pixmap: pixmap - ProcRenderAddGlyphs count 5284
> Pixmap: pixmap - glyph caches count 2
> Cached: pixmap - alpha picture count 31
> Cached: pixmap - ProcCreatePixmap count 401
> Cached: pixmap - uxa glyphs count 61

Update after more time spent in X session:

Pixmap: pixmap - ProcCreatePixmap count 1083
Pixmap: pixmap - createdefaultstiple count 1
Pixmap: pixmap - compNewPixmap count 1
Pixmap: pixmap - ProcRenderAddGlyphs count 958
Pixmap: pixmap - glyph caches count 2
Pixmap: pixmap - uxa glyphs count 1
Cached: pixmap - alpha picture count 27
Cached: pixmap - ProcCreatePixmap count 10510
Cached: pixmap - ProcRenderAddGlyphs count 2876
Cached: pixmap - uxa glyphs count 155

I noticed that cached objects ProcCreatPixmap slowly rises. I don't believe that all
of 10510 objects are busy or cannot be reused anyway so I guess there are some
bugs in BO reusing code.

-- 
Lukáš Hejtmánek



More information about the Intel-gfx mailing list