Re: attr inherit vs inherit_stat

2012-09-06 Thread Vince Weaver
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.

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

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

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

Thanks for any clarifications you can provide,

Vince


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


Re: attr inherit vs inherit_stat

2012-09-06 Thread Namhyung Kim
(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


Re: attr inherit vs inherit_stat

2012-09-04 Thread Namhyung Kim
On Tue, 7 Aug 2012 15:47:32 -0400, Vince Weaver wrote:
 Hello

Hello Vince,


 I'm trying to figure out the difference between the inherit and
 inherit_stat bitfields in the perf_event_attr structure.

 Both seem to have similar functionality, and the code in core.c
 is hard to follow.

 Does anyone have any idea?

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.

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


attr inherit vs inherit_stat

2012-08-07 Thread Vince Weaver
Hello

I'm trying to figure out the difference between the inherit and
inherit_stat bitfields in the perf_event_attr structure.

Both seem to have similar functionality, and the code in core.c
is hard to follow.

Does anyone have any idea?

Thanks,

Vince
vweav...@eecs.utk.edu

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