Possible radeon-related kernel memory leak
Michel Dänzer
michel at daenzer.net
Wed Feb 13 02:51:00 PST 2013
On Die, 2013-02-12 at 22:54 +0100, Hubert Kario wrote:
> 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?
Not sure.
> > > > > 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?
Not sure offhand what to look at other than the numbers you've posted.
But really, if the memory is reclaimed when X dies, by definition it's
not leaked in the kernel.
> > > > 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??
Assuming you mean SIGKILL of the client, no, that's how this mechanism
was designed.
> > > 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.
You could be running into
https://bugzilla.kernel.org/show_bug.cgi?id=49981
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Debian, X and DRI developer
More information about the xorg-driver-ati
mailing list