Kevin,

On Thu, Aug 24, 2006 at 10:10:17AM -0500, Kevin Corry wrote:
> On Mon August 21 2006 10:42 am, Stephane Eranian wrote:
> > I have also released a new libpfm, libpfm-3.2-060821, which includes:
> >
> >     - preliminary support for P4 32 and 64 bit mode by Kevin Corry from IBM
> >
> > Also a new version of pfmon, pfmon-3.2-060821, to take advantage of the
> > update in libpfm:
> >
> >     - preliminary support for P4 32 and 64 bits by Kevin Corry from IBM.
> >       Do not get too excited and it does not count anything just yet!
> 
> I've definitely been able to count things on P4 with pfmon.

That's excellent. No offense for the comment, I think I was still under
the impression it was very preliminary (from your own comments)
and that it was not counting yet.

Obviously, I was wrong, my apologies.


Now, I ran some tests just now and it seems to work for me as well.
Here is what I could get with my stupid noploop program and by
increasing the number of iterations:

$ pfmon --us-c -einstr_retired:NBOGUSNTAG ~/noploop 100000
loop=100000
609,960 instr_retired:NBOGUSNTAG

$ pfmon --us-c -einstr_retired:NBOGUSNTAG ~/noploop 1000000
loop=1000000
6,009,996 instr_retired:NBOGUSNTAG

$ pfmon --us-c -einstr_retired:NBOGUSNTAG ~/noploop 10000000
loop=10000000
60,010,027 instr_retired:NBOGUSNTAG

But when I use instr_completed, it gets more flaky. But maybe I do
not undertstand what the event actually measures:

$ pfmon -iinstr_completed
Name     : instr_completed
Code     : 0x7
Counters : [ 6 7 8 15 16 17 ]
Desc     : Instructions that have completed and retired during a clock cycle
Umask    : 0x01 : [NBOGUS] : Non-bogus instructions.
Umask    : 0x02 : [BOGUS] : Bogus instructions.

Does anyone get something meaningful out of this one?


> [EMAIL PROTECTED] /home/corry]$ pfmon -i global_power_events
> Name   : global_power_events
> Code   : 0x13
> counter: [ 0 1 9 10 ]
> Unit-mask 0: RUNNING
> Desc   : Counts the time during which a processor is not stopped.
> 

In the rewritten AMD K8 event table, I have use the rule that if an event only
has one unit mask, then we implement it without a unit mask, i.e., it is
collapsed with the event name. It makes it much easier to use. On AMD K8,
I have encoded the umask value starting at bit position 8. On P4, you
probably need to use another trick, though.

-- 
-Stephane
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/

Reply via email to