On Thu, Oct 6, 2011 at 10:39 PM, Zheng Da <zhengda1936@xxxxxxxxx> wrote:
i suspect it is documented in many places, at here is one good one:
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.
I'm disappointed that the information isn't documented somewhere. The
On Mon, Oct 3, 2011 at 11:19 PM, Peter Teoh <htmldeveloper@xxxxxxxxx> wrote:
>
>
> On Tue, Oct 4, 2011 at 9:53 AM, Peter Teoh <htmldeveloper@xxxxxxxxx> wrote:
>>
>> On Sun, Oct 2, 2011 at 5:07 AM, Zheng Da <zhengda1936@xxxxxxxxx> 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.
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:
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 Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies