[Intel-gfx] significant ioremap leak in i915?
Breton M. Saunders
brett at mynah-software.com
Sun Oct 12 11:28:24 CEST 2014
Guys,
This might be covered elsewhere, but help me come up to speed: I am
trying to analyze a leak in i915 that occurs on a digital sinage system
that I've built. The system basically is doing a lot of
XCompositeRedirectWindow / glXBindTexImageEXT calls to render web views
and mplayer output onto opengl textures for subsequent rendering.
In my testing, I observe that an enormous block is being lost in
ioremap by looking at /proc/vmallocinfo:
<snip>
0xffffc90000200000-0xffffc90010201000 268439552
pci_mmcfg_arch_map+0x33/0x90 phys=e0000000 ioremap
<snip>
0xffffc90010f80000-0xffffc90020f81000 268439552
i915_driver_load+0x20c/0x6d0 [i915] phys=c0000000 ioremap
<snip>
So in this example 268 megabytes have been lost.
Now what is even more vexing is if I stop the software, and X11 both
blocks are still present on the vmalloc list. If I then proceed to
rmmod i915 the i915 entry vanishes, however, the pci_mmcfg_arch_map
mapping remains.
It is entirely possible that I am doing something stupid from
userland (opengl) however, my test runs reliably on an NVidia based
machine - no leaks, runs until I power it off. I also think that
whatever wrongness I may be doing in userland I shouldn't be able to
blow up the system in this way.
For clarity, my setup is:
A NUC 2820 (I.e. Haswell N2820 CPU, 2.13GHz). 1Gb physical ram.
Operating system: Ubuntu 14.04 (as shipped):
kernel version 3.13.0-37-generic (i.e. Ubuntu's build)
Xorg: X.Org X Server 1.15.1
Intel xorg module: compiled for 1.15.1, module version
= 2.99.916
Acceleration mode: uxa (although SNA shows no
difference with regards to the leak).
Any suggestions would be welcome on how to address / analyze this - in
the meantime I will be digging through the i915 source code to try to
better understand the problem.
Cheers,
-Brett
More information about the Intel-gfx
mailing list