I've been using apps like "BetterBatteryStats" and "CPUSpy" to see what CPU states my phone is most frequently in, but both are reporting the wrong clock frequency.

I can only assume they are using this value

cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
1000000 192
800000 3
600000 12915
300000 20519

But the max clock speed on my phone is 1200MHz, not 1000MHz. Whilst the count is probably accurate, the value is wrong.

# cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 1197.81
Features        : swp half thumb fastmult vfp edsp thumbee neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc08
CPU revision    : 2

Hardware        : mapphone_UMTS
Revision        : 0000
Serial          : 0000000000000000
CPU Tier        : 10

And can also be verified with,

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

What I want to know

Where is time_in_state getting its clock values from?

  • Your max frequency may be 1200 MHz, but is it actually running at max frequency? Does CPU Spy, for example, show 1200 and 1000 MHz both as available frequencies? – eldarerathis Mar 6 '13 at 17:33
  • CPUSpy & BetterBatteryStats only show 1000MHz - not 1200MHz. And yes, as confirmed above /proc/cpuinfo shows the CPU in that state. – choco-loo Mar 6 '13 at 17:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.