The sbromwich series of kernels are the kernels I run on my phone with all current webos-internals testing patches applied, plus my patches, plus my kernel configuration.
The kernels are currently available at http://ipkg.preware.org/feeds/webos-kernels/testing/188.8.131.52/ and can be added using any standard package manager in the standard format (deducing this is left as an exercise for the reader).
This kernel is INTENDED FOR ALPHA TESTING ONLY. If you are looking for information on alternate stable kernels, Application:UberKernel
Patches applied for 1.4.1-75
- Pulled prcm patches to help test if this is causing an issue for warthog
Patches applied for 1.4.1-63
- defconfig patches tweaked to avoid patch collision with screenstate governor settings
- Makefile patched to use cs2010q1 gcc compiler from CodeSourcery
Patches applied for 1.4.1-61 ("tebbo")
- Tweaked prcm patches to extend battery life.
Patches applied for 1.4.1-28 ("nt4cats")
- Applied patches to remove debug settings for:
This may reduce the "high load on wakeup" that some people are seeing.
Patches applied for 1.4.1-26 ("yoda")
- wfi instruction re-enabled after several sources confirmed it did not hinder
- Tweaked timeouts for prcm bitbanging, particularly with DOM_PER to see if that reduces battery drain at the expense of (possibly) more hangs coming out of suspend.
Patches applied for 1.4.1-25 ("adric")
- wfi instruction on prcm fail removed to validate if this is a regression causing battery drain.
Patches applied for 1.4.1-24 ("jangofett")
- Reduce number of scheduling calls made to try to reduce battery drain. This may have an adverse affect on wake from suspend.
Patches applied for 1.4.1-23 ("bobafett")
- Debug settings removed from default kernel build.
- Compile kernel with explicit cortex-a8 tuning flags for gcc.
- Tweak prcm power manager to more explicitly wait for power set calls to return, remove debug cruft, and add Wait For Interrupt instruction if a prcm setting attempt fails.
- Enable preempt kernel.
- Pre can take some extra time to respond to certain activities, especially when waking up; lags of up to 2 seconds can be experienced on wakeup. The alternative is a reboot, which will take even longer.
- User interactivity latency should be lower (time to respond to keypresses, etc).
- Fewer powerd wakeups allowing the system to sleep longer.
- My patch makes the kernel boot at 800MHz. Run this kernel at your own risk. Not compliant with point 6 of http://forums.precentral.net/webos-internals/241355-next-generation-kernel-development-packaging.html .
- anticipatory io scheduler recommended.
- Install SmartReflex patches at your own risk. SmartReflex is not expected to work.
- Some users have reported increased battery usage when running this kernel.
Settings used with this kernel
I use the following event.d script:
description "Local tuning modes" start on stopped finish stop on runlevel [!2] console none script # Set governor echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # Set min frequency echo 250000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq # Set max frequency echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq # Set io scheduler to anticipatory echo anticipatory > /sys/block/mmcblk0/queue/scheduler # Powertop Suggestion: increase the VM dirty writeback time from 5.00 to 15 # seconds. 0.50s works better on flash as it has slow writes. Needs more testing. echo 50 > /proc/sys/vm/dirty_writeback_centisecs # Use YeaH TCP as it's fairer over wireless echo yeah > /proc/sys/net/ipv4/tcp_congestion_control # Don't cache route metrics since we're mobile echo 1 > /proc/sys/net/ipv4/tcp_no_metrics_save # Ramp up the tx/rx network buffers in case we get bursty echo 1048576 > /proc/sys/net/core/rmem_max echo 1048576 > /proc/sys/net/core/wmem_max echo 3000 > /proc/sys/net/core/netdev_max_backlog nohup /usr/local/bin/pt.pl > /dev/null 2>&1 & /usr/sbin/iptables -D INPUT -i eth0 -p tcp --sport 5222 -s 184.108.40.206/24 -j ACCEPT > /dev/null 2>&1 /usr/sbin/iptables -I INPUT -i eth0 -p tcp --sport 5222 -s 220.127.116.11/24 -j ACCEPT echo 5 > /proc/sys/vm/laptop_mode end script # end of file
In addition, I am using my naive perl scheduler at http://www.fop.ns.ca/pre/pt/pt.pl to manage the CPU frequency.