[Module] | X8 | X10 mini/pro | AX8_SMARTASS v002 | 'smartass' governor | [2011-07-19]

Search This thread

shaggoth

Senior Member
Oct 27, 2010
82
2
Tallinn
www.shaggoth.org
wow! it appeared :) now i'm happy with my minicm6. thanks for everything!

---------- Post added at 09:24 PM ---------- Previous post was at 09:22 PM ----------

just for a record: it appeared after i once again executed those strings in adb shell :)
 

zhuhang

Inactive Recognized Contributor
Apr 3, 2011
4,134
14,611
Petaling Jaya
www.facebook.com
Please note that not only DSPManager fails to work.
Equalizer apps like Equalizer also failed
Means any app to customize sound quality will not work. except in-built EQ in music player.
 

DougTheModder

Member
Jul 12, 2011
39
7
Rome
This module is simply AMAZING!!! Thank you AnDyX for your great work!
I've just installed GingerDX with the stock kernel and I was having a battery drain of about 30-40% per night, in flight mode.
I really considered to turn back to the stock Eclair, before trying your gorvernor. I pushed it with the preset values and this night, in 10 hours of flight mode, i had NO battery drain at all!!! :D :D :D

THANK YOU!
 

T!b

Senior Member
Jan 10, 2011
441
47
38
This module make my phone laggy, buggy, and, weird, videos on utube in HD were freezing... everything disepear when I removed it.
Going back to setCPU or waiting for futur versions
 
Last edited:

bhavneesh

Member
Apr 29, 2012
43
12
hello... i am on STOCK kernel.. and primehd v8.0 rom.. and i have installed ram manager pro in it.. now i am having problem installing smartass v2 on my rom.. i mean i followed the steps to install the module.. and i do the same way using the terminal emulator.. and the smartass option comes in the cpu settings>cpu governor .. but-- when i do a reboot, the smartass module is gone!.. i have to install that again and again!.. the cpu governor changes to ONDEMAND again.. as was default in the rom.. please suggest a solution to it.. and yes.. i dont know if ram manager pro is causing this.. i have set the settings in it to 'balance' !.. my max cpu freq is 691
 

Top Liked Posts

  • There are no posts matching your filters.
  • 44
    EASY ENGLISH: Differences between this module and the others:
    - allows to set max CPU freq when screen is off (to save battery),
    - allows to set starting CPU freq when phone awakes (to speed up awake process),
    - allows set/change almost all aspects of governor (to suite needs),
    - should be a bit more responsive when parameters are well chosen.

    Note: Don't use DSP Manager when this governor is enabled (it consumes more CPU then player itself). When screen goes off - sound will be distorted. Use player with equalizer build-in instead.

    Governor have some predefinied values - more info in "Available settings".

    Start:
    The goal was bring 'smartass' governor to work with X8 and also make some improvements.

    What Is A CPUFreq Governor?
    ==============================

    Most cpufreq drivers (in fact, all except one, longrun) or even most
    cpu frequency scaling algorithms only offer the CPU to be set to one
    frequency. In order to offer dynamic frequency scaling, the cpufreq
    core must be able to tell these drivers of a "target frequency". So
    these specific drivers will be transformed to offer a "->target"
    call instead of the existing "->setpolicy" call. For "longrun", all
    stays the same, though.

    How to decide what frequency within the CPUfreq policy should be used?
    That's done using "cpufreq governors". Two are already in this patch
    -- they're the already existing "powersave" and "performance" which
    set the frequency statically to the lowest or highest frequency,
    respectively. At least two more such governors will be ready for
    addition in the near future, but likely many more as there are various
    different theories and models about dynamic frequency scaling
    around. Using such a generic interface as cpufreq offers to scaling
    governors, these can be tested extensively, and the best one can be
    selected for each specific use.

    SMARTASS GOVERNOR - is based on the concept of the interactive governor.
    I have always agreed that in theory the way interactive works - by taking over the idle loop - is very attractive. I have never managed to tweak it so it would behave decently in real life. Smartass is a complete rewrite of the code plus more. I think its a success. Performance is on par with the "old" minmax and I think smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies.
    Smartass will also cap the max frequency when sleeping to 245Mhz (or if your min frequency is higher than 245 - why?! - it will cap it to your min frequency). Lets take for example the 600/245 kernel, it will sleep at 245. No need for sleep profiles any more!

    Info:
    - information about governors is here,
    - more information about 'smartass' governor is here,
    - how different governors work is explained here: [Q] SetCPU governors (explained).


    Prerequisites:
    - X8,
    - Baseband x15
    - desire to replace SetCPU - when used only for 'ScreenOff' profile.

    Manual installation:
    - push ax8_smartass.ko to /system/lib/modules
    - run the following command

    Code:
    insmod /system/lib/modules/ax8_smartass.ko
    echo "smartass" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

    Available settings:

    Note: there is no need to add following commands without changed value. The values are already implemented in module.

    - up_rate_us:
    The minimum amount of time to spend at a frequency before we can ramp up.
    Default value:
    Code:
    echo "24000"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/up_rate_us

    - down_rate_us:
    The minimum amount of time to spend at a frequency before we can ramp down. Default value:
    Code:
    echo "49000"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/down_rate_us

    - up_min_freq:
    When ramping up frequency with no idle cycles jump to at least this frequency.
    Zero disables. Set a very high value to jump to policy max freqeuncy.
    Code:
    echo "0"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/up_min_freq

    - sleep_max_freq:
    When sleep_max_freq>0 the frequency when suspended will be capped by this frequency. Also will wake up at max frequency of policy to minimize wakeup issues.
    Set sleep_max_freq=0 to disable this behavior.
    Default value:
    Code:
    echo "122880"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/sleep_max_freq

    - sleep_wakeup_freq:
    The frequency to set when waking up from sleep.
    When sleep_max_freq=0 this will have no effect.
    Default value:
    Code:
    echo "600000"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/sleep_wakeup_freq

    - awake_min_freq: When awake_min_freq>0 the frequency when not suspended will not go below this frequency.
    Set awake_min_freq=0 to disable this behavior.
    Default value:
    Code:
    echo "0"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/awake_min_freq

    - sample_rate_jiffies:
    Sampling rate, I highly recommend to leave it at 2.

    - ramp_up_step:
    Freqeuncy delta when ramping up.
    zero disables and causes to always jump straight to max frequency.
    Default value:
    Code:
    echo "220000"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/ramp_up_step

    - ramp_down_step:
    Freqeuncy delta when ramping down.
    zero disables and will calculate ramp down according to load heuristic.
    Default value:
    Code:
    echo "160000"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/ramp_down_step

    - max_cpu_load:
    CPU freq will be increased if measured load > max_cpu_load.
    Default value:
    Code:
    echo "75"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/max_cpu_load

    - min_cpu_load: CPU freq will be decreased if measured load < min_cpu_load.
    Default value:
    Code:
    echo "25"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/min_cpu_load

    - sleep_rate_us: Sleep rate when screen is off
    Code:
    echo "500000"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/sleep_rate_us

    Release history:


    v002:
    - sleep_max_freq set to 122880 - more battery saving,
    - sleep_wakeup_freq set to 600000 - faster wake up,
    - ramp_down_step set to 160000 - to slow down decreasing CPU freq,
    - when screen is off - governor acts like its 'conservative' version, just checks CPU loads using 500ms rate,
    - added sleep_rate_us parameter - sleep rate when screen is off can be changed using this parameter.

    v001:
    - just initial version fixed to work with X8.

    Sources at: GitHub
    2
    Can anyone compile it to mini / mini pro ? 10Q !

    already added in 1st post
    2
    PS: It is better to have DSP, the sound is so good, but more importantly saving battery is great. So when i what sounds that pumps my heart fast ill switch to ondemand then switch back to smartass on daily use. I know you will figure this out so we can use dsp again with smartass. :)

    Sent with love!

    DSP eats your battery faster :) If you really want to use 'smartass' and DSP try to set higher value for:
    Code:
    echo "320000"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/sleep_max_freq
    or
    Code:
    echo "480000"  > /sys/devices/system/cpu/cpu0/cpufreq/smartass/sleep_max_freq

    Better solution is to use any player with EQ buildin, I just quickly look and found following:
    - PowerAMP - not free but power full : PowerAMP
    - MixZing - there is free version on market too: MixZing.

    I check trial of PowerAMP and MixZing from market and works fine with EQ set to ON. Both contains EQ better then DSP.
    2
    just need a little guidance, im using froyobread v020, oc module and smartass v2 set with setcpu, main profile using on demand governor and screen off profile using smartass governor. is this ok or need tweaking?:confused:

    There is no sense to use 'smartass' governor only for 'ScreenOff' profile.

    'smartass' governor is replacement for SetCPU when is used only for 'ScreenOff' profile.
    You can disable profiles in SetCPU, set 'smartass' as default governor, set it in CM settings and after that check if you are happy while using only 'smartass' governor.

    I don't use SetCPU now and if I remember correctly in CM settings there is settings for max CPU freq too.
    2
    I don't see the point using this module.
    I used it for quite a while, but noticed no difference in terms of battery consumption or performance. In stead, it seems to be not working with background music playing. That being said, if I play some AAC files and then turn off the screen, the playback would be sluggish and broken. MP3 playback seems to be fine. So I switched back to ondemand.

    I'm not in good mood today - I click 'Thanks' instead of Quote .....

    Do you use equaliser/DSP Manager ??