Re: [RFC PATCH 1/2] perf: Enable group siblings on exec ifattr::enable_on_exec set

From: Lin Ming
Date: Wed Nov 10 2010 - 09:49:10 EST


On Wed, 2010-11-10 at 22:38 +0800, Peter Zijlstra wrote:
> On Wed, 2010-11-10 at 22:17 +0800, Lin Ming wrote:
> > On Wed, 2010-11-10 at 20:19 +0800, Peter Zijlstra wrote:
> > > On Wed, 2010-11-10 at 14:15 +0800, Lin Ming wrote:
> > > > Currently, only group leader is enabled on exec.
> > >
> > > That's enough, right? If all sibling events are already enabled enabling
> > > the group leader makes the whole thing go.
> >
> > No.
> >
> > If the event group is disabled by default("perf stat" case) and will be
> > enabled at next exec, then actually only the group leader will be
> > enabled , because all siblings are explicitly disabled(->state ==
> > PERF_EVENT_STATE_OFF). So the siblings will never be enabled.
>
> Right, so what I was saying is, don't disable all the siblings by
> default, so that only the group leader will be disabled. In that case
> nothing will get scheduled because the group leader is not enabled.
>
> So: {disabled, enabled, enabled} will not actually get scheduled and the
> group as a whole is effectively disabled. Once the enabled_on_exec flips
> the group leader to 'enabled' the whole group becomes enabled.
>
> I don't mind the patch too much (although I would like to avoid that
> double sibling iteration in both group_enable_on_exec() and
> __perf_event_mark_enabled()), but I think it can already work as is.

I got it now!

Another stupid patch, sorry.


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