(Adding peterz in case he has a time to answer)

On Thu, 6 Sep 2012 11:19:21 -0400, Vince Weaver wrote:
> On Tue, 4 Sep 2012, Namhyung Kim wrote:
>> 
>> AFAIK the "inherit" field determines whether the event is inherited to a
>> child process/thread.  The "inherit_stat" is only meaningful when the
>> "inherit" field is also set and it'll preserve (saved) event counts
>> between context switch of the inherited processes/threads.
>
> Thank you for taking the time to answer!
>
> I'm still trying to construct a test case that shows the difference but 
> I'm failing.

Please note that my understanding of perf core code is not firm enough
so there might be some mistakes. ;-)


>
> Aren't the stats *always* saved on context switch?

If both of them are cloned from the same parent event context and
there's no event added in the meantime.

Please see perf_event_context_sched_out() calling perf_event_sync_stat.


>
> Does this affect what happens when you read the perf_event fd in the 
> inherited threads, or only from the master thread?

It might.  But I guess the master thread doesn't get affected from that.


>
> What is the expected behavior if you set inherit_thread but do not set 
> inherit?

You meant inherit_stat, right?  If so, it looks it'd be a nop since
there's no inherited events.  Maybe the perf tools can be changed to
warn about that.

Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to