Messages in this thread | | | Date | Fri, 18 Jul 2014 16:42:48 +0200 | From | Jiri Olsa <> | Subject | Re: perf: child events not killed on release paths, survive indefinitely |
| |
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@kernel.org > > 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
| |