Philip Mucci wrote:
Hi Stefane,

There is little or no variation on my laptop, as I have no throttling
enabled, no cpuspeed running and no governor installed. Furthermore, the
same code with perfctr shows practically no variation when run with any
number of instances.
As for the code, reattaching it now.

Phil


On Wed, 2006-07-26 at 08:32 -0700, Stephane Eranian wrote:

Phil,

On Wed, Jul 26, 2006 at 11:25:50AM +0200, Philip Mucci wrote:

Hi again,

Ok, using the slightly modified self program to do create/load +
2*(start/read/stop) and recompiling the kernel without
preemption, looks like there's still something funky going on. The
numbers are way off.


You need to disregard CPU_CLK_UNHALTED because there can be variation.
You need to use an event that is easily repeatable, such as INST_RETIRED
and not influenced by what else is going on in the machine. You should
see little or no fluctuations on INST_RETIRED. This is apparently not
the case. Send me the modified program. Also could you try on a non
laptop machine?


[EMAIL PROTECTED] examples]$ ./self & ./self & ./self & ./self & PMD1 90000108 INST_RETIRED
PMD1             90000108 INST_RETIRED
PMD1             85660765 INST_RETIRED
PMD1             82390617 INST_RETIRED
PMD1             88116977 INST_RETIRED
PMD1             97467698 INST_RETIRED
PMD1             87337114 INST_RETIRED
PMD1            125815768 INST_RETIRED

I have noticed similar effect on x86_64 running an UP kernel. I noticed there is different code for pfm_ctxswin_thread() for SMP and UP kernels in linux/perfmon_ctxsw.c. When trying things out on my old dual processor smp running an SMP kernel the results look more consistent for INST_RETIRED. Is SMP enabled in your kernel? Or is it a UP kernel? Do you get better results with SMP kernel?

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

Reply via email to