lkml.org 
[lkml]   [2011]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [BUG] perf_event: inst_retired:any_p:c=16:i=1 is not equivalent to cpu_clk_unhalted:thread_p
From
Date
On Tue, 2011-01-18 at 19:05 +0100, Stephane Eranian wrote:
> Peter,
>
> commit 7639dae0ca11038286bbbcda05f2bef601c1eb8d
> Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Date: Tue Dec 14 21:26:40 2010 +0100
>
> perf, x86: Provide a PEBS capable cycle event
>
>
>
> Even with the transformation cmask=16:invert=1, you are not quite
> counting the same thing.
>
> inst_retired:any_p:c=16:i=1 is different from cpu_clk_unhalted:thread_p
>
> Simply because, I think, this form of inst_retired counts in HALTED state.

Drad it does indeed:

# perf stat -a -e cycles:p -e cycles sleep 1

Performance counter stats for 'sleep 1':

61,634,870 cycles
26,703,249 cycles

1.000860820 seconds time elapsed


> This automatic transformation would be "okay" in per-thread mode, but
> not in system-wide mode. It should not be done under the cover. I would
> rather have this option at the user level.

Agreed, since its not identical it had best be done in userspace, too
bad :/ I'll revert this patch.


\
 
 \ /
  Last update: 2011-01-18 19:39    [W:0.031 / U:0.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site