Messages in this thread | | | Date | Wed, 16 Jul 2014 14:20:47 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH 2/5] perf: Destroy event's children on task exit |
| |
* Peter Zijlstra <peterz@infradead.org> wrote:
> On Fri, Jul 11, 2014 at 01:56:19PM +0200, Jiri Olsa wrote: > > From: Jiri Olsa <jolsa@redhat.com> > > > > 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
| |