linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* task-clock vs. cpu-clock; per-event documentation
@ 2015-08-05 12:55 Milian Wolff
  2015-08-05 13:07 ` Andreas Hollmann
  0 siblings, 1 reply; 3+ messages in thread
From: Milian Wolff @ 2015-08-05 12:55 UTC (permalink / raw)
  To: linux-perf-users

Hello all,

I was asked by a colleague of mine what the difference between task-clock and 
cpu-clock is. I found many similar questions on the web, but none have a final 
answer:

http://stackoverflow.com/questions/23965363/linux-perf-events-cpu-clock-and-task-clock-what-is-the-difference
https://lkml.org/lkml/2010/11/3/373

Could someone explain the difference between the two counters for a non-kernel 
person? What is a task for that matter? When I compare the counters on test 
applications, they deviate only marginally.

In general, is there hope for more documentation on the individual performance 
counters? Perf list shows what's available but has no information whatsoever 
about the actual meaning of the counters. It would be excellent to also 
explain how to interpret the counter, or in what case you'd want to look at a 
given event.

Thanks
-- 
Milian Wolff
mail@milianw.de
http://milianw.de

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: task-clock vs. cpu-clock; per-event documentation
  2015-08-05 12:55 task-clock vs. cpu-clock; per-event documentation Milian Wolff
@ 2015-08-05 13:07 ` Andreas Hollmann
  2015-08-05 13:38   ` Milian Wolff
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Hollmann @ 2015-08-05 13:07 UTC (permalink / raw)
  To: Milian Wolff; +Cc: linux-perf-users

Hi,

I had the same question in 2013 and the best answer I got was (by David Ahern):

cpu-clock is wall-clock based -- so samples are taken at regular
intervals relative to walltime.

I believe that task-clock is relative to the task run time. So,
samples are taken at regular intervals relative to the process'
runtime.

David

2015-08-05 14:55 GMT+02:00 Milian Wolff <mail@milianw.de>:
> Hello all,
>
> I was asked by a colleague of mine what the difference between task-clock and
> cpu-clock is. I found many similar questions on the web, but none have a final
> answer:
>
> http://stackoverflow.com/questions/23965363/linux-perf-events-cpu-clock-and-task-clock-what-is-the-difference
> https://lkml.org/lkml/2010/11/3/373
>
> Could someone explain the difference between the two counters for a non-kernel
> person? What is a task for that matter? When I compare the counters on test
> applications, they deviate only marginally.
>
> In general, is there hope for more documentation on the individual performance
> counters? Perf list shows what's available but has no information whatsoever
> about the actual meaning of the counters. It would be excellent to also
> explain how to interpret the counter, or in what case you'd want to look at a
> given event.
>
> Thanks
> --
> Milian Wolff
> mail@milianw.de
> http://milianw.de
> --
> To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: task-clock vs. cpu-clock; per-event documentation
  2015-08-05 13:07 ` Andreas Hollmann
@ 2015-08-05 13:38   ` Milian Wolff
  0 siblings, 0 replies; 3+ messages in thread
From: Milian Wolff @ 2015-08-05 13:38 UTC (permalink / raw)
  To: Andreas Hollmann; +Cc: linux-perf-users

On Wednesday 05 August 2015 15:07:28 Andreas Hollmann wrote:
> Hi,
> 
> I had the same question in 2013 and the best answer I got was (by David
> Ahern):

Hello Andreas,

I found your email as well, but not the answer by David Ahern - thanks!

> cpu-clock is wall-clock based -- so samples are taken at regular
> intervals relative to walltime.
> 
> I believe that task-clock is relative to the task run time. So,
> samples are taken at regular intervals relative to the process'
> runtime.

Hm, I seem to be missing some crucial information then. From the above, I'd 
assume that cpu-clock would advance even when any other process is running on 
the given CPU, and also that it would always be higher than the task-clock:

perf stat -e cpu-clock,task-clock find /tmp

 Performance counter stats for 'find /tmp':

          2.504951      cpu-clock (msec)                                            
          2.508933      task-clock (msec)         #    0.726 CPUs utilized          

       0.003456557 seconds time elapsed

Here the task-clock is higher than the cpu-clock...? So what is a task in 
Kernel speak? Is it a thread? A process? 

Also, you say that cpu-clock samples are relative to walltime, but that is 
only CPU walltime, i.e. excluding sleep or I/O time. And even then, cpu-clock 
is limited to the process clock:

$ perf stat -e cpu-clock,task-clock sleep 1

 Performance counter stats for 'sleep 1':

          0.365390      cpu-clock (msec)                                            
          0.365318      task-clock (msec)         #    0.000 CPUs utilized          

       1.000775593 seconds time elapsed

$ sudo perf stat -e cpu-clock,task-clock -a sleep 1

 Performance counter stats for 'system wide':

       8015.143460      cpu-clock (msec)                                              
(100.00%)
       8015.047445      task-clock (msec)         #    8.006 CPUs utilized          

       1.001121827 seconds time elapsed

Bye

> 2015-08-05 14:55 GMT+02:00 Milian Wolff <mail@milianw.de>:
> > Hello all,
> > 
> > I was asked by a colleague of mine what the difference between task-clock
> > and cpu-clock is. I found many similar questions on the web, but none
> > have a final answer:
> > 
> > http://stackoverflow.com/questions/23965363/linux-perf-events-cpu-clock-an
> > d-task-clock-what-is-the-difference https://lkml.org/lkml/2010/11/3/373
> > 
> > Could someone explain the difference between the two counters for a
> > non-kernel person? What is a task for that matter? When I compare the
> > counters on test applications, they deviate only marginally.
> > 
> > In general, is there hope for more documentation on the individual
> > performance counters? Perf list shows what's available but has no
> > information whatsoever about the actual meaning of the counters. It would
> > be excellent to also explain how to interpret the counter, or in what
> > case you'd want to look at a given event.
> > 
> > Thanks
> > --
> > Milian Wolff
> > mail@milianw.de
> > http://milianw.de
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> > linux-perf-users" in the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Milian Wolff
mail@milianw.de
http://milianw.de

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-08-05 13:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-05 12:55 task-clock vs. cpu-clock; per-event documentation Milian Wolff
2015-08-05 13:07 ` Andreas Hollmann
2015-08-05 13:38   ` Milian Wolff

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).