-
Notifications
You must be signed in to change notification settings - Fork 11
Smartass
Smartass is a “new” governor I wrote for my HTC Hero. I wrote it to optimize battery life without comprising performance.
I recently rewrote smartass, and imho “smartassV2” behaves much better than the original smartass. Additional, “smartassV2” should be much more scalable to newer devices and I will try to support it as best as I can for as many devices as I can.
To port smartass, port the following commits (use the commits from kernel which is the most similar to yours):
Nexus One .38 kernel:
https://github.com/erasmux/n1-kernel/commit/d68d62a84ae2768888376a76a1f0aebd8f0b9302
Hero .35 kernel:
https://github.com/erasmux/hero-kernel-2.6.35/commit/2ade635b0607acc1ab0ec7f4d274855a9487af57
Hero .29 Kernel:
https://github.com/erasmux/hero-2.6.29-flykernel/commit/aca6cbb65c75f5b43f17004a61a59edafe307366
Additionally, and probably more importantly, the ideal frequencies and possibly the ramp up/down steps should be tweaked according your frequency table.
For a 528Mhz processor, I would try the values which work well on my hero:
#define DEFAULT_AWAKE_IDEAL_FREQ 518400
#define DEFAULT_SLEEP_IDEAL_FREQ 352000
#define DEFAULT_RAMP_UP_STEP 128000
#define DEFAULT_RAMP_DOWN_STEP 256000
(Also consider you frequency table, for example if your table uses the “standard” 528Mhz frequency use 528 instead of the above 518 awake ideal frequency)
For a 1GHz processor, I would start from the values which work well on my nexus one:
#define DEFAULT_AWAKE_IDEAL_FREQ 768000
#define DEFAULT_SLEEP_IDEAL_FREQ 245000
#define DEFAULT_RAMP_UP_STEP 256000
#define DEFAULT_RAMP_DOWN_STEP 256000
From what I understand support for SMP and multi-core devices is still very lacking (ondemand is the only governor which works well). I will do my best to improve this in future versions. For now, from taking a “theoretical” look at the frequency table of the 1.2Ghz Sensation, I would try something like:
#define DEFAULT_AWAKE_IDEAL_FREQ 972000
#define DEFAULT_SLEEP_IDEAL_FREQ 432000
#define DEFAULT_RAMP_UP_STEP 270000
#define DEFAULT_RAMP_DOWN_STEP 270000