[Intel-gfx] Extreme memory usage when running USDX with Intel driver
Eric Anholt
eric at anholt.net
Tue May 4 18:19:29 CEST 2010
On Mon, 03 May 2010 18:24:56 -0700, Eric Anholt <eric at anholt.net> wrote:
> On Tue, 4 May 2010 01:19:01 +0200, Tobias Doerffel <tobias.doerffel at gmail.com> wrote:
> > Hi,
> >
> > I have serious problems with running UltraStar Deluxe (a free OpenGL-based
> > karaoke program) on an Intel graphic card (945GME). When starting the program,
> > the system starts to use more than 1,5 GB of RAM for (I guess) GEM stuff. I
> > can't blame the program as it's running fine with both swrast (on the same
> > computer and setup) and the nouveau driver on another computer and itself
> > consumes about 100 MB of RAM.
> >
> > I collected some data describing the system status after the program has been
> > started up (and switched to tty0 in order to get these values).
> >
> > With Mesa 7.9 /proc/dri/0/gem_object tells me
> >
> > 8996 objects
> > -1422700544 object bytes
> > 3 pinned
> > 19365888 pin bytes
> > 140005376 gtt bytes
> > 260308992 gtt total
> >
> > With Mesa 7.8.1 it looks like the following:
> >
> > 2655 objects
> > -1792622592 object bytes
> > 3 pinned
> > 19365888 pin bytes
> > 233402368 gtt bytes
> > 260308992 gtt total
> >
> > At the same time /proc/<PID>/smaps has about 2500 similiar entries looking
> > like
> >
> > 1007e000-1017e000 rw-s 20ac0e000 00:05 314 /dev/dri/card0
> > Size: 1024 kB
> > Rss: 0 kB
> > Pss: 0 kB
> > Shared_Clean: 0 kB
> > Shared_Dirty: 0 kB
> > Private_Clean: 0 kB
> > Private_Dirty: 0 kB
> > Referenced: 0 kB
> > Swap: 0 kB
> > KernelPageSize: 4 kB
> > MMUPageSize: 4 kB
> >
> >
> > /proc/dri/0/gem_names contains
> >
> > name size handles refcount
> > name 1 size 4194304
> > 1 4194304 2 5
> > name 2 size 4194304
> > 2 4194304 2 4
> > name 3 size 16777216
> > 3 16777216 1 4
> >
> >
> > My setup is the latest kernel with latest commits from the drm-intel-next
> > branch. Same for xf86-video-intel and libdrm (both compiled from Git). XServer
> > version is 1.8. Mesa as written above. What could I do further to track down
> > the problem?
> >
> > From what I saw in the source code, the program creates lots of textures for
> > individual glyphs of fonts. The extreme memory usage seems to start while the
> > several thousands of textures are being created. I'm just wondering that
> > everything works fine with other drivers.
>
> Yeah, we've got a few reports of some apps that have spectacularly large
> memory usage, some to the point of OOMing. It hasn't been clear yet
> that these are leaks or just overallocation, as they've all been in
> relatively sizeable apps like Blender. Unfortunately, we don't have any
> details yet on what it is special that these apps do.
>
> Your note about glyphs is interesting, and may be useful. Right now we
> tile any texture that comes our way. If the app is generating many tiny
> textures for glyphs, the tiling may increase the pitch by up to a factor
> of 8. You could test if this was the problem by setting
> texture_tiling=false in driconf. If that's the case, we can just tune
> when we tile textures according to their size, and fix the problem.
It's also an environment variable.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20100504/8e70cdd3/attachment.sig>
More information about the Intel-gfx
mailing list