Possible radeon-related kernel memory leak

Hubert Kario hubert at kario.pl
Tue Feb 12 13:54:53 PST 2013

On Monday 11 of February 2013 13:00:41 Michel Dänzer wrote:
> On Son, 2013-02-10 at 15:01 +0100, Hubert Kario wrote:
> > On Friday 08 of February 2013 17:43:17 Michel Dänzer wrote:
> > > I suspect the memory is used for TTM buffer objects, e.g. for X server
> > > pixmaps.
> > 
> > xrestop lists around 200MiB of pixmaps, I don't know if they are
> > included in the X process or originating process resident set size, but
> > even if they aren't (and are included only in "kernel dynamic memory"),
> > it's still not the 800MiB difference I see. They don't grow over time.
> Unfortunately, xrestop doesn't always show everything either. See e.g.
> http://bugs.debian.org/695757 for a similar problem.

That's a shame. Is there some way to get this information at all? Or is it 
necessary to fix the kernel/X server to either track or allow it to return 
all the information it tracks? (considering a simple X restart fixes the 
problem, I'd guess it's only the problem of not returning all data...) 
> > > > Even if I turn off all applications and restart kwin, it's still at
> > > > 1G.
> > > 
> > > xlsclients only lists kwin at that point, no other clients?
> > 
> > no, there's still the plasma desktop, krunner, probably something
> > else...
> Have you tried killing those?

If I have the problem next time, I'll try restarting or killing everything 
that shows up in xlsclients

Is there any specific data you want to see before and after killing those 
applications? And before and after killing X (without system restart) if 
restarting X clients doesn't resolve the issue?

> > > Note that X11 allows clients to create pixmaps in such a way that they
> > > aren't automatically destroyed even if the client dies. This can be
> > > used
> > > e.g. for desktop backgrounds or for caching pixmaps between processes.
> > 
> > Will they still be visible in xrestop if the parent process dies?
> I'm not sure such pixmaps are visible in xrestop in the first place.

Wouldn't this be considered memory leak if a SIGKILL leaves X resources 
still allocated??

> > Do you think it's not related to the errors I get sometimes while
> > running
> > games?
> > 
> > radeon: The kernel rejected CS, see dmesg for more information
> > 
> > with the following error in dmesg (full kernel stack trace in first mail
> > in thread):
> > 
> > [drm:radeon_cs_ioctl] ERROR Failed to parse relocation -12
> > 
> > Can't this cause leaks of kernel memory that are freed only on full X
> > re-
> > initialisation?
> These errors are symptoms of running out of kernel memory, probably not
> the cause of it.

Thing is, when I'm playing the game in question I turn off everything 
besides the KDE services and background daemons, so I have close to 3.5GiB 
of free memory.
Only then I start the java game that's capped at a bit over 1GiB of memory 
(1GB heap + ~200MiB parameter space)...

Hubert Kario

More information about the xorg-driver-ati mailing list