Re: perf: child events not killed on release paths, survive indefinitely

From: Jiri Olsa
Date: Fri Jul 18 2014 - 10:43:30 EST


On Fri, Jul 18, 2014 at 03:31:57PM +0100, Mark Rutland wrote:

SNIP

> > > I'm not sure what the best way of handling this is. We need to clean up
> > > the children when the last possible user of the event is gone, but it
> > > looks to me like we'd need to have a separate child_refcount or
> > > reader_refcount to be able to tell when the events are still useful and
> > > when the only references which remain are internal.
> > >
> > > Any ideas?
> >
> > Jiri was recently poking at that:
> >
> > lkml.kernel.org/r/1405079782-8139-3-git-send-email-jolsa@xxxxxxxxxx
>
> Ah. I hadn't spotted that, thanks for the link.
>
> That approach (closing child events when the owner exits) doesn't seem
> to fix the general case, as long running tasks (think interactive
> debugger/profiler) could open and close many events before exiting, if
> nothing else wasting memory until it does so.
>
> My test case triggers with said patch applied (before hanging, probably
> due to the AB-BA deadlock).

yep, peter already found that
http://marc.info/?l=linux-kernel&m=140541548218652&w=2

>
> Jiri, could you add me to Cc for future versions of that series?
>
> I'll have a look and see if I can come up with something; otherwise I'm
> happy to test/review. :)

sure, and vice versa ;-)

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/