On Sat, Mar 10, 2012 at 12:06 AM,  <gary.m...@bull.com> wrote:
> Hi Stephane,
>
> We have a customer that is using a PAPI built on top of libpfm4 that has
> noticed a difference between the architectural events which are available
> on Westmere and Sandy Bridge systems.  In particular on Sandy Bridge, the
> event UNHALTED_REFERENCE_CYCLES is shown as an architectural event but on
> Westmere it is not.  The event is known without the 'ix86arch::' prefix on
> both systems.  An example of output from each type of system is provided
> below.
>
>
> Westmere system:
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 44
> model name      : Intel(R) Xeon(R) CPU           E5649  @ 2.53GHz
>
>>>papi_native_avail | grep ix86arch
> 0x40000027   ix86arch::UNHALTED_CORE_CYCLES  | count core clock cycles
> wheneve |
> 0x40000028   ix86arch::INSTRUCTION_RETIRED  | count the number of
> instructions |
> 0x40000029   ix86arch::LLC_REFERENCES  | count each request originating
> from t |
> 0x4000002a   ix86arch::LLC_MISSES  | count each cache miss condition for
> refer |
> 0x4000002b   ix86arch::BRANCH_INSTRUCTIONS_RETIRED  | count branch
> instruction |
> 0x4000002c   ix86arch::MISPREDICTED_BRANCH_RETIRED  | count mispredicted
> branc |
>
>
>
> Sandy Bridge system:
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 45
> model name      : Genuine Intel(R) CPU  @ 2.30GHz
>
>>>papi_native_avail | grep ix86arch
> 0x40000020   ix86arch::UNHALTED_CORE_CYCLES  | count core clock cycles
> wheneve |
> 0x40000021   ix86arch::INSTRUCTION_RETIRED  | count the number of
> instructions |
> 0x40000022   ix86arch::UNHALTED_REFERENCE_CYCLES  | count reference clock
> cycl |
> 0x40000023   ix86arch::LLC_REFERENCES  | count each request originating
> from t |
> 0x40000024   ix86arch::LLC_MISSES  | count each cache miss condition for
> refer |
> 0x40000025   ix86arch::BRANCH_INSTRUCTIONS_RETIRED  | count branch
> instruction |
> 0x40000026   ix86arch::MISPREDICTED_BRANCH_RETIRED  | count mispredicted
> branc |
>
>
>
> I looked at the code a little bit and it looks like the table of
> architectural events is built dynamically but I did not look close enough
> to figure out how the code decided which events belonged in the table.  I
> also took a look at a Nehalem system and its table of architectural events
> was a little different than either of these.
>
> It seems to us like the set of architectural events should be the same on
> all three of these hardware platforms, would you agree ?
>
The ix86arch table is built dynamically based on the whatever is supported
by the HW. There is a CPUID function that returns that. But unhalted_ref_cycles
should be there for everyone. I know on NHM the BRANCH event is missing
because broken. I will take a look at it this week-end.


> Thanks
> Gary
>

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to