Dec 21, 2009 - Version 1.91 for MCR & Generics
Minor update
Details:
Performance CPU Governor as default (aka the performance update package) It is therefore not needed to apply it to 1.91
Changed Ramzswap size (max RAM to be compressed) to 128MB which seems to fix the pauses that appear after a while
Please report on this issue and battery life on MoDaCo topic
Dec 6, 2009 - Performance tweak udpate package released
Details:
The default « ondemand » governor sets the cpu speed according to the cpu load (that speed being between scaling_min_freq and scaling_max_freq)
The more simple « performance » governor, just sets statically the speed of the CPU to the value of /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
On the Hero ROMS, I have observed that when the device goes to sleep, that value of scaling_max_freq is changed to ~246MHz
and when the device is awake it sets it at 528Mhz.
On normal conditions I found that the « ondemand » governor performs very badly...my CPU being often blocked at ~488Mhz for no apparent reason.
And wakeup times would take forever to be « detected » and the cpu speed boosted.
So I tried changing to performance governor.
What goes on with the performance governor is, whatever happens, the cpu governor is not looking a the cpu charge to set the cpu frequency, it sets it based on a simple rule, stated earlier,
it sets statically the speed of the CPU to the value of /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:
Therefore we have:
-Device awake -> CPU is always running at 528Mhz
-Device in sleep mode -> CPU is always running at ~246Mhz
Results are very good, device feels more responsive, especially when « waking up from sleep », and no abnormal battery drain has been observed so far.
The update can be used with any Teknologist kernel version 1.8 or newer and any Modaco Custom ROM or Generic ROM running these kernel versions.
The tweak is really tiny (one liner in the init script), but the results are very nice !
As a conclusion, I’d say it’s not always about developing/patching/compiling etc., it’s also about observation, study and then finding simple things that make great improvements.
Nov 30, 2009 - Version 1.9 for Generic ROMS
Same as below with a generic ROM ramdisk
Also includes busybox
Nov 28, 2009 - Version 1.9 for Modaco Custom ROMS
Fixes for Wifi Tether for root users issues (reboots, wifi unavailable after tether etc.)
-added some debug options previously removed
-switched back to Anticipatory I/O scheduler
Moved compache modules from /system/lib/modules/compcache to /system/lib/modules
Added a symlink from /system/lib/modules to /system/lib/modules/2.6.27-mck-teknologist-1.9 for modutils to work perfectly (modprobe/rmmod etc.)
Increased compcache’s ramzswap from 80Mb to 92Mb
Performance is still as great as before
Nov 3, 2009 - Version 1.8 (Integrated into MCR 2.9):
OpenVPN kernel module tun.ko is now automatically inserted at boot time
Changed kernel default I/O scheduler to deadline
Change swappiness to 10 (avoids swap/use of ramzswap as much as possible if there is real free RAM available)
Changed default size for Ramzswap pool to 80MB
Added extra updates files to apply different ramzswap pool sizes after reboot.
Removed more debug/dev code configuration options and made the kernel 200KB smaller (may be harder to debug though).
Moved ramzswap init script from /data/ramzswap.sh to /system/init.d/ramzswap.sh (makes more sense).
The update will take care of removing the old /data/ramzswap.sh (all your customizations to that file will be gone though)
Oct 30, 2009 - Version 1.7:
Fixed dropbear ssh
Fixed bug with /data/init.sh not being executed in original MCR 2.8 ramdisk (which is the base of my ramdisk)
Removed some more debug options on the kernel (hope it doesn't break anything...please report)
Oct 29, 2009 - Version 1.6:
Integrated compache init into Paul's init script
No need for swap partition anymore -> auto-setup for non geek users.
Oct 28, 2009 - Version 1.5:
-Added CONFIG_LFS=y to config so kernel can now mount ext4 partitions rw for A2SD.
Oct 27, 2009 - Version 1.4 (Initial public release)
-added IP Gre tunnel module:
This particular tunneling driver implements
GRE (Generic Routing Encapsulation) and at this time allows
encapsulating of IPv4 or IPv6 over existing IPv4 infrastructure.
This driver is useful if the other endpoint is a Cisco router: Cisco
likes GRE much better.
-Added cifs module
This gives ability to mount Samba/Windows shares directly
For example:
mount -t cifs //ServerIP/shareName -o credentials=/some_path/sambacred.txt,rw,auto,user,uid=1000,iocharset=utf8,file_mode=0770,dir_mode=0770
you can store your credentials in a file you create (in the example: /some_path/sambacred.txt)
This file needs to have following format:
username=your_user_name
password=your_password
-Added some bluetooth features (BNEP multicats filter and protocol filter) in case it is needed by future Bluetooth tools contributed by the community
-Removed all kernel debugging code not needed when we use this kernel on a phone and we don't want to debug. Might slightly decrese overhead and make things a bit faster. Be aware that in case you have issues, it will be harder to debug, but again who is going to read stack traces, debug outputs etc... apart from a kernel hacker.

