Messages in this thread | | | Date | Tue, 18 Jan 2011 21:26:31 +0100 | Subject | Re: [BUG] perf_event: inst_retired:any_p:c=16:i=1 is not equivalent to cpu_clk_unhalted:thread_p | From | Stephane Eranian <> |
| |
On Tue, Jan 18, 2011 at 7:36 PM, Peter Zijlstra <peterz@infradead.org> wrote: > 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 > What's interesting here is that this cycles:p is not event equal to 1x CPU freq given your measuring for 1s. So it must stop counting at some point.
> >> 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. > Yes, it would have been nice. But if you know what you're doing, this is still doable from user space. So I think we are okay. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |