On Thu, Oct 6, 2011 at 10:39 PM, Zheng Da <[email protected]> wrote:
> Thank you, Peter. I didn't realize Intel has explained all performance > counters in its manual, and I was desperately looking for more > detailed explanation on the Internet. > > On Mon, Oct 3, 2011 at 11:19 PM, Peter Teoh <[email protected]> > wrote: > > > > > > On Tue, Oct 4, 2011 at 9:53 AM, Peter Teoh <[email protected]> > wrote: > >> > >> On Sun, Oct 2, 2011 at 5:07 AM, Zheng Da <[email protected]> wrote: > >> > Hello, > >> > > >> > I start to use perf to profile my program, but I'm not quite sure if I > >> > understand some events. > >> > >> Firstly perf is using hardware to read these performance information. > So > >> for intel CPU, depending on the different model, u can find the relevant > >> information in the reference manual from Intel here: > >> > >> http://www.intel.com/Assets/en_US/PDF/manual/248966.pdf > >> > >> In particular, the various model of Intel CPU is listed in page xvii, > and > >> along with it are the various performance information u can extract out > - > >> the last item is the BUS information (B.6.10). > >> > >> > First, perf can profile bus cycles. Is it the bus cycles of FSB? > >> > Second, what is task clock? It seems to me that task clock is the > > > > task clock, from reading the implementation in kernel/events/core.c, i > > suspect is a software event, not hardware. Ie, it counts upon each task > > switch. To quote from core.c: > > /* > > * Software event: task time clock > > */ > > static void task_clock_event_update(struct perf_event *event, u64 now) > > { > > > > More details here: > > http://lwn.net/Articles/312720/ > > > >> > >> > ticks used by a process. It should include the ticks used in the > >> > kernel mode and the user space mode, as long as it is used in the > >> > context of the process. I suppose it doesn't count the cycles used by > >> > the interrupts such as page faults and softirq, even though the irqs > >> > are caused by the process. Is it correct? > > > > on the contrary, i think it should include, as to exclude these cycles > does > > entail stopping the hrtimer.....read into core.c further. > I'm disappointed that the information isn't documented somewhere. The > developers shouldn't expect users to read the code to understand how > to use the tool :( > > i suspect it is documented in many places, at here is one good one: http://developer.apple.com/library/IOS/#documentation/DeveloperTools/Conceptual/SharkUserGuide/MiscellaneousTopics/MiscellaneousTopics.html#//apple_ref/doc/uid/TP40005233-CH14-SW3 and from the side, looking at Appendix A, u can see a table of all the PerfCounters for ARM11, and then another section will list out for Intel, and then PPC etc..... > BTW, is there any wiki where people can share what they found in the > kernel? > > Thanks, > Da > -- Regards, Peter Teoh
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
