Re: [PATCH 2/5] perf: Destroy event's children on task exit

From: Ingo Molnar
Date: Wed Jul 16 2014 - 08:21:03 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Fri, Jul 11, 2014 at 01:56:19PM +0200, Jiri Olsa wrote:
> > From: Jiri Olsa <jolsa@xxxxxxxxxx>
> >
> > When task exits we close:
> > 1) all events that are installed in task
> > 2) all events owned by task (via file descriptor)
> >
> > But we don't close children events of 2) events. Those children
> > events stay until the child task exits and are useless with the
> > parent being gone, because we have no way to get to values any
> > more.
> >
> > Plus if the event stays installed in task even with the owner task
> > gone, it runs the perf callback any time the task forks, for no
> > real reason.
> >
> > Closing all children events events when the owner task of the
> > parent event is closed.
>
> So I _think_ the reason we didn't do this is because this is potentially
> very expensive and keeping them around isn't too much bother, they'll
> die eventually.
>
> But I can't really remember. Ingo any recollections / opinions?

As far as I can remember it's just a historic path dependent
implementation detail, not really a conscious choice: initially we
didn't remove events (because we couldn't), and then it remained so
because it broke nothing.

Thanks,

Ingo
--
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/