Re: [BUG] perf_counter: change cpu frequencies
From: Eric Dumazet <hidden>
Date: 2009-05-03 06:08:17
Also in:
lkml
Eric Dumazet a écrit :
Eric Dumazet a écrit :quoted
But if I use plain "perf stat -a sleep 10" it seems I get wrong values again (16 G cycles/sec) for all next perf sessionsWell, I confirm all my cpus switched from 3GHz to 2GHz, after "perf stat -a sleep 10" (but "perf stat -e instructions -e cycles -a sleep 10" doesnt trigger this problem) Nothing logged, and /proc/cpuinfo stills reports 3 GHz frequencies # cat unit.c main() { int i; for (i = 0 ; i < 10000000; i++) getppid(); } # time ./unit real 0m0.818s user 0m0.289s sys 0m0.529s # perf stat -a sleep 10 2>/dev/null # time ./unit real 0m1.122s user 0m0.482s sys 0m0.640s # tail -n 27 /proc/cpuinfo processor : 7 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Xeon(R) CPU E5450 @ 3.00GHz stepping : 6 cpu MHz : 3000.102 cache size : 6144 KB physical id : 1 siblings : 1 core id : 3 cpu cores : 4 apicid : 7 initial apicid : 7 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority bogomips : 6000.01 clflush size : 64 power management: # grep CPU_FREQ .config # CONFIG_CPU_FREQ is not set perf_counter seems promising, but still... needs some bug hunting :)
Update :
Mike Galbraith suggested me to try various things, and finally, I discovered
this frequency change was probably a BIOS problem on my HP BL460c G1
System Options -> Power regulator for Proliant
[*] HP Dynamic Power Savings Mode
[ ] HP Static Low Power Mode
[ ] HP Static High Performance Mode
[ ] OS Control Mode
I switched it to 'OS Control Mode'
Then acpi-cpufreq could load, and no more frequencies changes on a "perf -a sleep 10"
session, using or not cpufreq.
(Supported cpufreq speeds on these cpus : 1999 & 2999 MHz)
So it was a BIOS issue
# perf stat -a sleep 10
Performance counter stats for 'sleep':
80005.418223 task clock ticks (msecs)
80266 context switches (events)
3 CPU migrations (events)
486 pagefaults (events)
240013851624 CPU cycles (events) << good >>
239076501419 instructions (events)
679464 cache references (events)
<not counted> cache misses
Wall-clock time elapsed: 10000.468808 msecs
Thank you