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