I started checking out powertop
(installed separately). With ondemand
I’m getting this frequency stats (with only Whisperfish running, Android AppSupport started but no opened apps) using SSH over USB to PC:
# CPU0..5
300 MHz 7,5%
576 MHz 3,6%
768 MHz 0,3%
1018 MHz 0,3%
1248 MHz 0,3%
1325 MHz 0,2%
1,52 GHz 0,4%
1,62 GHz 0,1%
1,71 GHz 3,6%
Idle 83,8%
# CPU6..7
300 MHz 0,1%
787 MHz 0,0%
979 MHz 0,0%
1037 MHz 0,0%
1248 MHz 0,0%
1402 MHz 0,0%
1,56 GHz 0,0%
1,77 GHz 0,0%
1,91 GHz 0,0%
2,08 GHz 0,0%
Idle 99,9%
With schedutil
I’m getting these:
# CPU0..5
300 MHz 0,2%
576 MHz 0,0%
768 MHz 0,0%
1018 MHz 0,0%
1248 MHz 0,3%
1325 MHz 0,0%
1,52 GHz 0,0%
1,62 GHz 0,1%
1,71 GHz 5,1%
Idle 94,3%
# CPU6..7
300 MHz 0,0%
787 MHz 0,0%
979 MHz 0,0%
1037 MHz 0,0%
1248 MHz 0,0%
1402 MHz 0,0%
1,56 GHz 0,0%
1,77 GHz 0,0%
1,91 GHz 0,0%
2,08 GHz 0,0%
Idle 99,9%
So, it seems that schedutil
makes the CPU ramp up to higher clocks for short tasks, too, which can be both energy efficient and fast. It seems to be working correctly. I’m also getting similar results with testing on-device without a charger connected – idle times are >90% and >99% most of the time with screen on and running PowerTOP in ToeTerm (with a miniscule font size).
I think schedutil
gets a pass here! No need to switch to ondemand
- the battery didn’t last any longer with it at least, but it didn’t do harm either.