Results 1 to 9 of 9
  1.    #1  
    I've knocked up a dumb CPU scaler in perl based on the output from /var/log/updated.log which seems to speed things up noticeably whilst saving battery while the device is idle (although I suspect it will fail in amusing ways with latency sensitive applications). It also enables SmartReflex to stop the phone getting too hot. I would be curious to know if this approach works for anyone else; I have put the script up at (sorry, but it would appear I can't insert links) www dot fop dot ns dot ca slash pt.pl for anyone who wishes to try it.

    Cheers, Steve
  2.    #2  
    After installing the 800Mhz kernel I found my Pre would consistently lock up on CPU intensive tasks, and 720Mhz was questionable. I found that tinkering with ondemand /sys settings (particularly powersave_bias) was enough to keep things running through the most intensive tasks I could find (gunzipping the feeds list in optware) without crashing. The specific settings I am running are:

    echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    echo 50 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
    echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
    echo 50 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/powersave_bias

    Sample stats output after 40 minute uptime:
    Every 1.0s: cat /proc/loadavg time_in_state total_trans trans_table

    0.19 0.88 1.11 1/194 6505
    800000 2427
    720000 30381
    600000 38908
    550000 5126
    500000 10945
    250000 12305
    125000 136278
    1544
    From : To
    : 800000 720000 600000 550000 500000 250000 125000
    800000: 0 0 1 0 0 0 0
    720000: 0 0 430 0 1 0 0
    600000: 0 262 0 84 78 54 55
    550000: 0 8 36 0 17 19 5
    500000: 0 3 3 1 0 108 3
    250000: 0 32 9 0 7 0 133
    125000: 0 126 54 0 15 0 0

    This also gives me around 50% longer battery life (although before people get excited, my usage patterns probably do not match that of most other users).

    Cheers, Steve
  3.    #3  
    I uninstalled the 800MHz kernel back to the stock joplin kernel, did the 1.4.1 update, then reinstalled the original 800MHz patch .sh and rebooted without any issues. Running my power demon now with 800MHz as the top speed seems to be stable - Palm appear to have fixed something other than simply paid apps as the device does feel physically cooler.
  4. #4  
    Quote Originally Posted by sbromwich View Post
    The specific settings I am running are:

    echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    echo 50 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
    echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
    echo 50 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/powersave_bias

    Sample stats output after 40 minute uptime:
    Every 1.0s: cat /proc/loadavg time_in_state total_trans trans_table
    I notice you are working on multiple tweaks to mod the kernel. How are these settings still working for you?
  5.    #5  
    Quote Originally Posted by mamouton View Post
    I notice you are working on multiple tweaks to mod the kernel. How are these settings still working for you?
    I have deprecated this power daemon to some extent in favour of my current kernel work; it helps to some extent but not enough for me to want to burn 6 meg of ram for the perl binary. 1% battery drain/hour is acceptable to me.

    My current settings are:

    # Set min frequency
    echo 125000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
    # Set max frequency
    echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    # Set powersave bias to 5
    echo 5 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/powersave_bias
    # Set up_threshold to 50
    echo 50 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
    # Set up_threshold to 20000
    echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
    # Test with anticipatory to validate seek speed
    echo anticipatory > /sys/block/mmcblk0/queue/scheduler

    I get a little jerkiness occasionally before the CPU clocks up but nothing too bad. I would imagine if I had a "good" CPU I could dispense with powersave_bias completely for higher performance.

    I am also experimenting with setting different parts of the system to be soft realtime; currently I have pulseaudio, lunasysmgr, and the CDMA phone interface daemon set to RT_PRIO. Jury is out on how well it works.

    In addition to these disabling syslog makes a big difference as there's significantly less disk I/O traffic. The anticipatory scheduler seems to be helping with seeks (the preware alpha in particular is noticeably faster - it gathers and displays the icons in the full package list in markedly less than a second).

    Ironically my alpha kernel appears more reliable than the stock kernel. I am on call this week and took my phone back to stock. I had multiple crashes using the power button to wake the system from suspend as a result; I am now back to running the alpha kernel so I can be reliably on call. I know the alpha kernel works because I've been called 5 times since 1am this morning.

    Cheers, Steve
  6. #6  
    Do you have plans on sharing your alpha kernel? I was an alpha tester for unixpycho and caj2008's 1.3.5, and 1.4. I don't have a problem with having to start from scratch if things go wrong. I saw in one of your threads where you were getting the 1% drain, very impressive if you need someone to be another guinea pig I am open.
  7.    #7  
    Quote Originally Posted by mamouton View Post
    Do you have plans on sharing your alpha kernel? I was an alpha tester for unixpycho and caj2008's 1.3.5, and 1.4. I don't have a problem with having to start from scratch if things go wrong. I saw in one of your threads where you were getting the 1% drain, very impressive if you need someone to be another guinea pig I am open.
    My code is all open source and freely available. Unixpsycho has generously hosted my compiled kernel on his site. I am not (nor do I ever plan to) distribute ipks, add to preware feed, or otherwise make it easy to do; I am doing this work more as groundwork for other developers to build on. I know there are people at Palm monitoring my diffs so it is not entirely beyond the bounds of possibility that some of my changes will make it into an OTA update at some point in the future.

    I will send you a PM giving you the nutshell version of how to get the kernel going.

    Cheers, Steve
    Last edited by sbromwich; 04/10/2010 at 10:19 AM. Reason: Clarification: I'm just compiling kernels at the moment, Unixpsycho is currently the hard worker.
  8. #8  
    +1
  9. #9  
    Thanks!

Posting Permissions