vmalloc virtual space leak
I would like to report an issue we're seeing with both the 256.35 and
256.44 nvidia drivers on both x86 and x86_64 systems with various types
of graphics cards. We are using 2.6.31.x kernel.org based kernels.
What we are seeing is vmalloc virtual space being allocated but not
If I do "glxgears", I see two os_map_kernel_space() NV_MEMORY_WRITECOMBINED
vmalloc space mappings appear.
But after killing "glxgears" off, these 2 ioremap mappings are not
freed, and the vmalloc virtual space remains allocated/in-use.
Repeated glxgears invocations show additional ioremap mappings
A cat of /proc/vmallocinfo shows the new new allocations appearing,
but never being freed, even if the X session is closed and the
nvidia driver is unloaded.
If we run a stress test with something like viewperf over several days,
we eventually run out of vmalloc space and nvidia driver requests for
ioremap() calls start to fails, and thus we require a reboot to get
back to normal. Since x86 has a smaller vmalloc virtual space size,
it is more noticable on x86 than x86_64.
The physical pages underlying these virtual mappings appear to be
re-used, and thus a physical memory leak does not seem to be occuring.
And while a virtual space leak is less serious, it would still be nice
it this issue could be investigated and hopefully fixed.
Thank you for yor time.