Messages in this thread | | | Subject | Re: Q: perf_event && event->owner | From | Peter Zijlstra <> | Date | Tue, 09 Nov 2010 18:07:49 +0100 |
| |
On Tue, 2010-11-09 at 17:58 +0100, Oleg Nesterov wrote: > On 11/09, Peter Zijlstra wrote: > > > > On Tue, 2010-11-09 at 16:57 +0100, Oleg Nesterov wrote: > > > > > > If the creator of perf_event dies, nobody can use its ->perf_event_list > > > anyway. What is the point to keep the reference to the dead task_struct > > > and preserve this ->perf_event_list? > > > > But when the owner dies it will close all its fds, which means it will > > clear its tsk->perf_event_list, no? (With exception of the case where > > the fd was passed through a unix-socket to another process). > > fork(), pthread_create(). Only __fput() calls ->release, when the last > reference to file goes away.
Ah,.. quite so. So how about we explicitly destroy the list when the task dies?
> And ptrace(), it doesn't use sys_perf_event_open() to create the event.
Right, I guess it uses kernel based things, I guess we could not add kernel based counters to the list.
| |