Re: pref record question

From: Peter Zijlstra
Date: Tue Oct 20 2009 - 05:20:19 EST


On Tue, 2009-10-20 at 08:00 +0200, Ingo Molnar wrote:
> * Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> > On Mon, 2009-10-19 at 19:04 +0200, Tim Blechmann wrote:
> >
> > > i am trying to do some profiling with perf (2.6.31.4). while
> > > thread-level profiling works fine, i haven't been able to record
> > > profiling data of a whole process (i.e. main thread + child
> > > threads). from my understanding, this should be enabled by running
> > > 'perf record -i' on the main thread. this does only collect the data
> > > from the main thread, though.
> > >
> > > is this an issue with perf or with my understanding of perf?
> >
> > -i will only inherit the counters on new fork()/clone() calls, so an
> > existing process/task tree will not automagically get the counters.
>
> Looks like something very much worth fixing.

Well, maybe.

There's two ways to go about this, either iterate the tasks in userspace
and attach a counter to each one (repeat until there's no new ones
left).

Or add a new flag in perf_event_attr to iterate the tasks on attach in
an atomic manner.

We cannot simply extend the current attach behaviour as that would make
it impossible to attach to a single thread in a thread group.

Also, if you extend the interface, it would make sense to allow
automatically attaching to a process group, not only a thread group,
etc.



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