lkml.org 
[lkml]   [2011]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC][PATCH 0/6] perf: x86 RDPMC and RDTSC support
On Wed, 21 Dec 2011, Peter Zijlstra wrote:

> On Wed, 2011-12-21 at 16:32 -0500, Vince Weaver wrote:
>
> > * One, is it possible to detect at runtime that rdpmc() is supported?
> > Maybe a field in the mmap'd buffer that can be read?
>
> Ingo suggested a similar thing, will implement (although Christmas might
> interfere with delivery timelines etc..).

no rush.

> > * Second, if I try a start / run 100M instructions / read
> > and measure retired instructions I get:
> > 281474977711543 instructions
> > This is 0x10000000f45b7 which is 1<<48 + 100M. I guess an artifact
> > of how the counters are set up? Is it possible to have this start
> > at 0?
>
> Its supposed to be 0 based, clearly I messed up something and need to go
> figure out what. Thanks for reporting.

That's on a Nehalem machine, if it matters.

Speaking of bit 48, does your implementation do anything useful about
the 32/40/48 bit limitation that some processors have with rdpmc?
Or is the answer that if you might get overflow, then you have to use slow
syscall-based read?

perfctr has some pretty clever code that manages to use rdpmc() while
avoiding the overflow issue, but it was written at a time when older
processors were in use and where this was more of an issue.

Vince


\
 
 \ /
  Last update: 2011-12-21 23:21    [W:0.100 / U:1.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site