On Tue, 2013-07-16 at 17:29 +0200, Manuel Selva wrote:
> Hi,
> 
> My question regards a platform equipped with 2 Intel Xeon X5650.
> According to the perf wiki page 
> (https://perf.wiki.kernel.org/index.php/Tutorial), "by default perf stat 
> counts for all threads of the process and subsequent child processes and 
> threads" and "By default, perf stat counts in per-thread mode".
> 
> So a first question is what is the default: per thread or per process ?

It's per process, which is as described in the first quote above. The
second quote is just wrong AFAICS.

> Then, independently of the answer, I am wondering how does perf handles 
> per thread or per process regarding the scheduler and migrations. I 
> didn't find it explicitly in the Intel documentation but it seems 
> natural that hardware performance counters located on a given core are 
> only capable of counting event on this core and not on other cores. Is 
> it true ?
> 
> Moreover, the wiki page says that "When a thread migrated from one 
> processor to another, counters are saved on the current processor and 
> are restored on the new one" (this seems to confirm the answer to my 
> previous question above). It means that the scheduler is aware about 
> "perf" or that perf is able to register a hook into the scheduler. So I 
> guess this is done in the kernel part of perf (in the implementation of 
> the perf_event_open system call) and not in the user land part, is it true ?

Yes.

cheers

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