Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,738,086 Members 54,624 Now Online
XDA Developers Android and Mobile Development Forum

[KERNEL][UV][CWM] Entropy's Daily Driver-GB, 03/07/2012 (Small Fixes))

Tip us?
 
Entropy512
Old
(Last edited by Entropy512; 19th March 2012 at 07:43 PM.) Reason: 03/07/2012 Release
#1  
Senior Recognized Developer - OP
Thanks Meter 24108
Posts: 13,135
Join Date: Aug 2007
Location: Owego, NY

 
DONATE TO ME
Default [KERNEL][UV][CWM] Entropy's Daily Driver-GB, 03/07/2012 (Small Fixes))

OK, I figure it's time to start providing my kernels to the general public.

This should be compatible with most stock-derived Gingerbread firmwares. It is NOT compatible with CM7/MIUI or any other AOSP-derived firmware. It is NOT compatible with ICS and WILL NOT BE until ICS kernel source for the I9100 is released. At that point a new thread will be created for those kernels. I am testing it currently with self-deodexed/debloated/Hellraised XWKL1.

This kernel series is intended to be similar in spirit to my Daily Driver series for the Infuse at http://forum.xda-developers.com/show....php?t=1212795

It is built from sources at https://github.com/Entropy512/linux_...commits/master, and initramfs at https://github.com/Entropy512/initra...commits/master

My general goals are to focus on stability and battery life. If it comes to a tradeoff between performance and the above two, I will choose stability/battery life. In general I will choose stability first, with the exception of undervolting.

Current features:
  • codeworkx's cpuidle patch - should improve battery life a bit. In most cases it will likely not improve things much, but in rare cases it will result in significant improvements. (I only have one partially-reproducible test case on the Infuse so far)
  • JHash 3
  • BFQ I/O scheduler
  • CIFS module in initramfs
  • CWM 5.0.2.8 pulled from latest CM7 source tree as of 2/28/2012
  • "insecure" kernel (meaning root in ADB)
  • CPU governor set to Conservative by default to conserve some battery - this will make your device slightly less responsive, use SetCPU or a similar app to return to ondemand if you want it, or reduce the conservative polling interval
  • Filesystem readahead tweaks in initramfs
  • netarchy's Sleep of Death fix
  • netarchy's conservative governor tuning patch - should improve responsiveness of devices when using the conservative governor if you reduce the polling interval (misnamed as sample_rate) - the I9100 community calls this "lionheart" even though it's really only a 2-line patch
  • Battery charge current monitoring (CurrentWidget) support - only reports charge current and not discharge, and reports a value 2.85 times the actual current. Use CurrentWidget's "operation on value" to divide by 2.85.
  • Miscellaneous bugfixes pulled from Ninphetamine and CM7 sources - see github for details
  • /system/etc/init.d support in initramfs - Note that this only runs stuff in /system/etc/init.d - ROM developers or you need to create it. Attached is an example script that will change the CPU frequency governor to ondemand if placed in /system/etc/init.d and set to executable
  • Four "use at your own risk" features that trade performance for stability - See Post #4 for details
  • Standard bootanimation support
  • /proc/last_kmsg crash debugging support
  • NFS modules in initramfs - note that they must be insmodded in a specific order: sunrpc.ko, lockd.ko, then nfs.ko
  • Fix for fuel_alerted perma-wakelocks
  • Fix for wifi tethering on I9100 ROMs that have been Hellraised
  • Bump up TCP buffer sizes in initramfs to match that of the Infuse - may help network performance in some cases
  • cpuidle driver from Tab 7 Plus kernel - allows entry into AFTR more often
  • Support Bluetooth HID on newer firmware bases
  • 3-step GPU clock/voltage control
  • Extended hotplug tuning
  • Support for Xan's ExTweaks universal tuning app - https://market.android.com/details?i...n.extweaks.app

Planned features, short term:
  • Pull in some improvements from myfluxi and arighi's trees

Planned features, mid-term:
  • ????

Planned features, long-term:
  • Improved battery charge algorithm for faster charging - Initial research indicates we have an alternate battery charger chip (MAX8922) that differs from the MAX8997 used in the I9100. We DO have an 8997 also - but on our device for some reason Samsung decided to use an alternate chip instead of using the 8997's built-in charging. This means we have far fewer options (90,400,660 mA) in terms of charge rates compared to the I9100 (from 200 to 950 in 50 mA steps). So we might not be able to implement any fancy charging algorithms.

Features not planned:
  • BFS process scheduler - I have only once ever seen a test case where this clearly outperformed the mainline Linux scheduler (multithread x264 encoding) - The mainline schedule was fixed in the next release and BFS now has no performance benefits
  • Any feature that trades off stability or data integrity for performance unless it can be disabled entirely and defaulted to "off"
  • Any feature that cannot have functionality tested without a paid app. Interface-only checks don't cut it - I don't want users complaining that the app they paid for didn't work because an interface check worked but function didn't
  • Touch recovery - too prone to accidental user errors - Maybe I will revisit when ICS hits.

Known issues:
  • Power management regression somewhere between 12/8/11 and 1/2/12 - Intermittent high drain without high AOS or reduced deep sleep percentage when on some wifi networks - seems more likely if GPS is used when connected to wifi. Wifi with high AOS/reduced deep sleep is not a kernel problem. This appears to only happen on some firmwares - it happens on XXKI3 but not XWKL1. It is likely connected to a wifi power management bug in some firmwares. A debugging feature in 2/7 and later will allow identification of such firmwares - see http://forum.xda-developers.com/show...postcount=1777 for details
  • Some people have reported touchkey lights becoming disabled until the screen is turned off and back on again. Under investigation - seems to mainly happen on firmwares with BLN-modded liblights even if the BLN app isn't used
  • Internal and External SD card are swapped in CWM currently
Basic flashing instructions for .tar releases (NOTE - There are currently no releases in this category. These instructions only remain for heimdall+ZIP users:
(Tested on Linux, not tested MacOS/Windows but should work) Heimdall - Extract the contents of the tar file, enter download mode, and flash with the following command line:
Code:
Select Code
heimdall flash --kernel zImage
Flashing instructions for .zip releases:
Flash in CWM, or extract the zImage and use the Heimdall instructions above.

Please do not ask how to enter download mode or install Heimdall/Odin in this thread - these are basic generic skills anyone flashing custom firmwares on Samsung devices should know and plenty of documentation exists elsewhere. If you really need to ask, use the General forum, or if created, the Q&A forum. I want to try to keep this thread clean and only with bug reports and issues specific to this release, not general HOWTO or troubleshooting posts. Some of the information you need is in jivy26's FAQs thread at http://forum.xda-developers.com/show....php?t=1288112 - Reading at least the first post of this thread in its entirety is STRONGLY recommended.

Bug reports:
If you have a crash (reboot all the way to Galaxy S I9100 screen), use ADB dump the contents of /proc/last_kmsg and post
If you have oddball behavior, include a clearly reproducible test case with your report, or use ADB to obtain a dmesg and logcat capturing the odd behavior at the time of error.

Similar to flashing - using ADB and obtaining last_kmsg, dmesg, and logcat dumps are basic skills that anyone working with custom firmwares on Android devices should have. If you need help with these, do some searching, or post in the General forum or, if created, Q&A forum.

Firmware ("ROM") Developers:
While I cannot restrict anyone from putting this kernel into a ROM as long as links are given to the github sources for GPL compliance, I request that anyone who includes this kernel in a firmware release does the following out of courtesy:
Link to this thread
Clearly indicate in your firmware changelog which Daily Driver kernel release is included in your firmware release whenever you change DD releases - this lets users identify whether a fix is present in the kernel they're using or not

Kernel Developers:
Similar to my request for ROM developers, while I can't restrict you from doing anything, I ask as a courtesy that if you cherry-pick my commits, you do the following:
Please don't rebase my commits into a large multi-feature without consulting me - rebasing related bugfixes together is OK.
Please try not to implement lots of unrelated features or bugfixes in a single git commit - it makes it hard to reimplement that when Samsung drops new sources or releases a new device

ALL OF MY RELEASES ARE NAMED BY RELEASE DATE - MMDDYYYY. See the changelog for differences between Experimental (exp) and non-exp versions for days where dual releases are made.
Attached Files
File Type: tar DD_01232012.tar - [Click for QR Code] (5.00 MB, 6364 views)
File Type: zip DD_01242012.zip - [Click for QR Code] (5.14 MB, 2044 views)
File Type: zip DD_01292012.zip - [Click for QR Code] (5.16 MB, 474 views)
File Type: zip DD_01302012.zip - [Click for QR Code] (5.16 MB, 1614 views)
File Type: zip DD_02072012.zip - [Click for QR Code] (5.16 MB, 1519 views)
File Type: zip DD_02152012_A.zip - [Click for QR Code] (5.16 MB, 117 views)
File Type: zip DD_02152012_B.zip - [Click for QR Code] (5.17 MB, 105 views)
File Type: zip DD_02152012_C.zip - [Click for QR Code] (5.16 MB, 458 views)
File Type: zip DD_02182012_A.zip - [Click for QR Code] (5.16 MB, 189 views)
File Type: zip DD_02182012_B.zip - [Click for QR Code] (5.17 MB, 818 views)
File Type: zip DD_02262012.zip - [Click for QR Code] (5.16 MB, 492 views)
File Type: zip DD_02282012.zip - [Click for QR Code] (4.78 MB, 712 views)
File Type: zip DD_03022012.zip - [Click for QR Code] (4.78 MB, 305 views)
File Type: zip DD_03032012.zip - [Click for QR Code] (4.78 MB, 225 views)
File Type: zip DD_03032012_B.zip - [Click for QR Code] (4.78 MB, 136 views)
File Type: zip DD_03042012.zip - [Click for QR Code] (4.78 MB, 185 views)
File Type: zip DD_03042012_B.zip - [Click for QR Code] (4.78 MB, 356 views)
File Type: zip DD_03052012.zip - [Click for QR Code] (4.78 MB, 761 views)
File Type: zip DD_03072012.zip - [Click for QR Code] (4.78 MB, 9241 views)
*so much sig updating needed*

My Github profile - Some Android stuff, some AVR stuff

An excellent post on "noobs vs. developers"

A few opinions on kernel development "good practices"

Note: I have chosen not to use XDA's "friends" feature - I will reject all incoming "friend" requests.

Code:
<MikeyMike01> Smali is a spawn of hell
<shoman94> ^^^ +!
Code:
<Entropy512> gotta be careful not to step on each other's work.  :)
<Bumble-Bee> thats true
<jerdog> compeete for donations
The Following 203 Users Say Thank You to Entropy512 For This Useful Post: [ Click to Expand ]
 
Entropy512
Old
(Last edited by Entropy512; 8th March 2012 at 03:42 AM.) Reason: 03/05/2012 Release
#2  
Senior Recognized Developer - OP
Thanks Meter 24108
Posts: 13,135
Join Date: Aug 2007
Location: Owego, NY

 
DONATE TO ME
Default Change Log

3/7/2012 Release:
Default GPU voltages were slightly too high (but not dangerously so) due to misreading some #ifdefs. Adjusted them downwards.

03/05/2012 Release:
  • 3-step GPU voltage control (thanks to gokhanmoral of SiyahKernel)
  • Extended CPU hotplug tunables (also thanks to gokhanmoral of SiyahKernel) - I didn't bother with Tegrak Second Core support as it offers nothing these tunables don't offer that makes sense
  • Preliminary support for Xan's ExTweaks tuning app - https://market.android.com/details?i...n.extweaks.app (Yes, it currently says SiyahKernel only, but I added support) - use this to tweak the new features

03/04/2012 Release B:
  • Add GPU voltage control in addition to existing clock control - see http://forum.xda-developers.com/show...4&postcount=64 for more
  • Reduce default sampling_rate of conservative governor from 100ms to 50ms - conservative uses deferred ticks that shouldn't impact cpuidle

03/04/2012 Release:
03/03/2012 Release B:
  • Readd a couple of cpuidle register restore/saves that were removed by Samsung between the I9100 and Tab 7 Plus sources - Small chance this might be where the SoDs come from.

03/03/2012 Release:
03/02/2012 Release:
02/28/2012 Release:
  • Revert https://github.com/Entropy512/linux_...68662fcaa5fabe again - It was causing severe performance regressions for red5, and was clearly narrowed down to a single patch (red5 swapped between 18B and 26 multiple times, these are adjacent releases that differ by only one patch.)
  • Readd https://github.com/Entropy512/linux_...6d1f8db9c09442
  • Reduce minimum polling interval of conservative from 25 msec to 20 msec
  • Make defaults of conservative governor consistent with battery-optimized tuning - won't affect anyone using SetCPU to tune governors
  • Initramfs: Clean up cruft that was doing nothing but taking space
  • Initramfs: Compiled latest CWM 5.0.2.8 from sources - should fix advanced restore
  • Initramfs: Swap internal/external SD in CWM to be consistent with newer Android standards

02/26/2012 Release:
Readd https://github.com/Entropy512/linux_...68662fcaa5fabe

02/16/2012 Release B:
PULLED - actual release was identical to 15C due to a mistake in creating the ZIP. - Replaced by 02/18/2012 Release B.
Readd https://github.com/Entropy512/linux_...e4a5cb439c24bf (cpuidle: governor: menu: don't use loadavg)

02/16/2012 Release A:
PULLED - actual release was identical to 15C due to a mistake in creating the ZIP. - Replaced by 02/18/2012 Release A. (CWM will report this as 2/17A - ignore this, CPUSpy should report afternoon in 2/18)
Readd https://github.com/Entropy512/linux_...4c0c38e9903d49 (Add MSHCI Power Control)

02/15/2012 Release C:
Fixes to multiple drivers that were attempting to lock frequency to certain levels. On an overclock kernel, these were all two frequency steps higher than originally intended:
  • Application-controlled lock in kernel/power/main.c - Likely this combined with arighi's frequency scaling patch was the cause of most 2/7 stability issues
  • Camera locking to 1.2 GHz is fixed
  • Thermal limits (reducing clock frequency while overheating) was broken, should now work properly

02/15/2012 Release B:
Readds the following patches, should be safe:
02/15/2012 Release A:
Revert most patches from 1/30 and 2/07 due to stability issues EXCEPT:
  • BTHID interoperability fix
  • MFC/new cpuidle interoperability fix
  • A BCM4330 patch revert (it was a revert to begin with)
There will be a second "B" release containing patches that I think should be safe stability-wise but want to have separated anyway. After that, I will be making releases 1-2 times a day, each with only one new patch. This will allow the offending patches for recently reported stability problems to be identified. As a result, releases will have A/B/C/etc letter codes after the date until I no longer expect multiple releases per day. Until the stability issues are resolved, Experimental releases are suspended.

02/07/2012 Release:
  • Lock out AFTR during hardware accelerated video playback - should fix issues with hwaccel video that some people had with 1/29 and later
  • Disables second core when the screen is off (this patch comes from arighi)
  • A patch from arighi ("smooth scaling") that prevents the performance governor from getting "stuck" at the wrong frequency, and should make ondemand a bit more responsive
  • Small cpuidle governor fix from mainline
  • Revert a wifi patch that did nothing at all if you read the code
  • Print an error in dmesg when suspend handling in the wifi driver is blocked by the system firmware for whatever reason (XXKI3 does this) - System firmwares that do this will make you vulnerable to battery drain on "dirty" networks (ARP spam, broadcast traffic)
  • Small performance patch by Russell King of ARM (see github for details)
  • Standard only for now - will release experimental in a day or two
  • Warning - This doesn't have as much testing as I normally put into a kernel, but I needed to get a cpuidle fix out ASAP in my opinion

1/30/2012 Releases:
  • Backport Bluetooth HID fixes from Epic 4G Touch EL29 sources - Seems to fix Bluetooth HID on UCKK6, should also fix it on newer I9100 bases
  • Backport a power management change (MSHCI power control) from E4GT EL29 - Actually, I think this is something that was in the AT&T drop and I9100 Update3 removed
  • ashmem deadlock fix - might fix nizda1's issue (unknown, I thought I had this in already but I guess I didn't) - found by arighi
  • Tweak from arighi - set SLUB_MAX_ORDER to 0 since our device doesn't have ginormous amounts of RAM
  • Increase TCP initial receive and congestion windows - should improve throughput on new TCP connections (such as web page loads)
  • Remove a small dmesg spam introduced by the cpuidle backport
  • Add ARM Errata 753970 (bugfix)

1/29/2012 Releases:
  • Backported cpuidle driver from the Tab 7 Plus - Allows AFTR idle to be entered more often, enables it my default, and permits it to be tracked separately from LPA idle mode.
  • Reverted some small I9100 changes to GPIO configurations - These changes may do nothing, the functions of these GPIOs are undocumented but appear to be somehow sleep related. See github commit for details

1/24/2012 Releases:
  • Include tun.ko
The above change is so small I'm removing the 1/23 download

1/23/2012 Releases (Note: Experimental might not actually be posted until 1/24):
  • Enable building for I9100 targets (source code change only, see github)
  • Revert some unnecessary patches from arighi's tree, prep for implementing more useful ones
  • A pile of upstream Linux kernel bugfixes, huge thanks go to myfluxi for finding these and testing them on himself: https://github.com/myfluxi/xxKernel
  • Bring in two small missing updates from I9100 update3 sources
  • Enable separate debugging of wake_lock_destroy() to enable diagnosing high deleted_wake_locks time

1/2/2012 Releases:
  • Road to I9100 Update3: COMPLETE - Video changes, media changes, battery/PMIC changes, Samsung-specific arch/arm changes
  • Road to I9100 Update3: Revert touchscreen drivers to I777 source codebase. SiyahKernel also did this, it seems to solve the wake lag issues. However those that didn't encounter lag may see reduced responsiveness. There's a possible workaround though.

12/21/2011 Releases:
  • Road to I9100: USB Host (untested), Touchkey, Broadcom DHD (Bluetooth, WiFi)
  • Initramfs: Bring in a few updates from UCKK6. Might fix wifi for KK6 people (UCKK6 compatibility UNTESTED.)

12/12/2011 Releases:
  • Road to I9100: Touchscreen Drivers
  • Irrelevant Road to I9100: DPRAM, WiMax, staging drivers

12/8/2011 Releases:
  • Resume dual-release standard (2.6.35.7) and experimental (2.6.35.14) builds - note exp does NOT fix the AOS bug, just hides it - see http://git.kernel.org/?p=linux/kerne...9c081a2e6dd9da
  • Remove some debugging printk()s from the AFTR cpuidle driver for those who enable AFTR deep idle mode (see init.d scripts thread linked below)
  • More components of I9100 update3 sources - MMC, filesystem, and generic arch/arm changes
  • Removed filesystem I/O scheduler tweak script from initramfs - this belongs as a separate init.d script. See http://forum.xda-developers.com/show....php?t=1378080 for this script's new home along with other scripts
  • Enable compilation of FUSE module. Combined with an ntfs-3g binary this should allow people who want to mount NTFS drives with OTG cables to do so. I cannot provide any additional support for this though - no OTG cable

12/1/2011 Release:
  • Disable interactive governor - it was causing kernel panics in LPM (e.g. reboot to normal poweron when power-off charging), too much risk of it causing a panic during normal operation so it's gone
  • Two small fixes, one to MMC power management and one to cpuidle - see github for details
  • Per-file fsync disable - see HERE BE DRAGONS post #4 and USE AT YOUR OWN RISK
  • First step of patching up to Samsung I9100 update3 sources - New sound drivers. Please focus on sound until the next release.

11/23/2011 Release:
  • BLN from Ninphetamine - WARNING: An active BLN notification WILL drain your battery by holding a wakelock. Also, you need to install a compatible liblights if your ROM doesn't already have it. VillainROM 3.0 has it, I'll try to post a library and installation instructions after the Thanksgiving weekend ends
  • Permissions changes for /data/misc/wifi that allow tethering settings to persist on Hellraised ROMs (EDIT: Not working for fresh flashes... Maybe not working at all. what the **** is overriding the perms?)
  • Enabled Interactive governor in defconfig. drowningchild says it's stable - I tend to be paranoid when it comes to governors

11/13/2011 Release:
  • Upgrade to CWM 5.0.2.7 pulled from Cyanogenmod 7 nightly 12 - adds nandroid backup/restore to external SD - advanced restore from extSD not working yet, also CWM labels external SD as "internal"

11/10/2011 Release:
11/03/2011 Release:
  • Fix for wifi tethering on I9100 ROMs
  • Bump up TCP buffer sizes in initramfs to match that of the Infuse - may help network performance in some cases
  • Experimental (2.6.35.14) releases discontinued until further notice - They provided no discernible benefit, and hid the infamous "AOS Bug" making it harder to diagnose. (It did not fix the drain)

10/20/2011 Releases:
  • Fix for fuel_alerted perma-wakelocks
  • GPU clock control, same method as Ninphetamine - see Ninphetamine kernel for documentation. Completely untested other than that the default values don't change or break anything. Same rules as for my overclock code... Credit goes to Netarchy for this, it's his git commit 100%

10/16/2011 Releases:
  • Make root injection script less aggressive
  • NFS modules in initramfs - note that they must be insmodded in a specific order: sunrpc.ko, lockd.ko, then nfs.ko
  • Miscellaneous bugfixes, see git

10/13/2011 Releases:
  • Make root injection script in initramfs less aggressive
10/09/2011 Releases:
  • Update root injection script to install su-3.0 - Still need work on this to make it more robust when su updates again.
  • Misc. fixes from codeworkx's CM7 tree and Ninphetamine
  • Start of Experimental dual-release series - Experimental updates base to 2.6.35.14 using arighi's patches

10/07/2011 Releases: (There were multiple, but as their files are no longer posted I'm merging it into one changelog entry)
  • Conservative tuning patch no longer considered experimental
  • /system/etc/init.d support in initramfs
  • Overclocking/Undervolting implementation by codeworkx - USE AT YOUR OWN RISK. DO NOT REPORT BUGS OR PROBLEMS IF YOU ARE OVERCLOCKING OR UNDERVOLTING. IF YOU EXPERIENCE ANY STABILITY PROBLEMS, DISABLE ALL OC/UV
  • Standard bootanimation support

10/06/2011 Experimental Release:
  • netarchy's conservative governor tuning patch - should improve responsiveness of devices when using the conservative governor

10/06/2011 Release:
  • Automatic root injection in initramfs
  • Filesystem readahead tweaks in initramfs
  • netarchy's Sleep of Death fix
  • Battery charge current monitoring (CurrentWidget) support - only reports charge current and not discharge, and reports a value 2.85 times the actual current. Use CurrentWidget's "operation on value" to divide by 2.85.
  • Miscellaneous bugfixes pulled from Ninphetamine sources - see github for details

Initial Release: 10/04/2011
  • codeworkx's cpuidle patch - should improve battery life a bit. In most cases it will likely not improve things much, but in rare cases it will result in significant improvements. (I only have one partially-reproducible test case on the Infuse so far)
  • JHash 3
  • BFQ I/O scheduler
  • CIFS module in initramfs
  • CWM 5.0.2.3 from Codeworkx's CWM kernel
  • CPU governor set to Conservative by default to conserve some battery - this will make your device slightly less responsive, use SetCPU or a similar app to return to ondemand if you want it
  • "Insecure" kernel - ADB sessions ALWAYS have root
*so much sig updating needed*

My Github profile - Some Android stuff, some AVR stuff

An excellent post on "noobs vs. developers"

A few opinions on kernel development "good practices"

Note: I have chosen not to use XDA's "friends" feature - I will reject all incoming "friend" requests.

Code:
<MikeyMike01> Smali is a spawn of hell
<shoman94> ^^^ +!
Code:
<Entropy512> gotta be careful not to step on each other's work.  :)
<Bumble-Bee> thats true
<jerdog> compeete for donations
The Following 32 Users Say Thank You to Entropy512 For This Useful Post: [ Click to Expand ]
 
Entropy512
Old
(Last edited by Entropy512; 1st December 2011 at 11:48 PM.)
#3  
Senior Recognized Developer - OP
Thanks Meter 24108
Posts: 13,135
Join Date: Aug 2007
Location: Owego, NY

 
DONATE TO ME
Default Here be dragons

This post is for features present in the kernel that are "use at your own risk" - They have either potential or guaranteed negative side effects if used.
Overclocking (CPU):
Enable using SetCPU or a similar app
USE AT YOUR OWN RISK. DO NOT REPORT BUGS OR PROBLEMS IF YOU ARE OVERCLOCKING OR UNDERVOLTING. IF YOU EXPERIENCE ANY STABILITY PROBLEMS, DISABLE ALL OC/UV

Overclocking (GPU):
See Ninphetamine kernel for documentation - Same control method
USE AT YOUR OWN RISK. DO NOT REPORT BUGS OR PROBLEMS IF YOU ARE OVERCLOCKING. IF YOU EXPERIENCE ANY STABILITY PROBLEMS, DISABLE ALL OC

Per-File fsync() disable:
This allows you to disable per-file write forced syncs. (e.g. if an app tries to force a write straight to disk, it'll just go to cache). This achieves the same goal as the modded sqlite hacks seen in tweaks such as USAS, however it can be disabled at runtime.

WARNING: THIS CAN CAUSE DATA LOSS OR CORRUPTION IN A CRASH

To enable, do the following in a terminal, or add it to an init.d script (look at my ondemand script as an example):
Code:
Select Code
echo "1" > /sys/module/sync/parameters/fsync_disabled
And to disable (return to the default):
Code:
Select Code
echo "0" > /sys/module/sync/parameters/fsync_disabled
Good for around 200 points of epeen in the database benchmarks in Antutu or 500-600 points of epeen in Quadrant. Real-world benefit: Probably not worth the data integrity risk, but you've got a choice now.

Backlight Notifications (BLN):
This allows the touchkey backlights to be used for notifications. Some stock apps (such as stock MMS) don't support it. Supposedly services.jar mods can change this.

This WILL drain your battery when a notification is active due to a wakelock that holds deep sleep. Sorry, it's either this or instability for the time being.

In addition to the BLN control app, the ROM needs a modified liblights file for this to work

Attached here - Liblights - both BLN-modified (extracted from VillainROM 3.0) and stock I777

To install, take the file and push it to /system:
Code:
Select Code
adb remount
adb push <file> /system/lib/hw/lights.SGH-I777.so
adb chmod 644 /system/lib/hw/lights.SGH-I777.so
Then reboot

Note that on a Hellraised ROM, you need to replace SGH-I777 with GT-I9100. This includes manually ported ROMs like Cognition 777

Like my prerooted system image, this file is compressed using 7-Zip to prevent people from trying to flash it with CWM
Attached Files
File Type: 7z liblights_bln.7z - [Click for QR Code] (4.7 KB, 271 views)
*so much sig updating needed*

My Github profile - Some Android stuff, some AVR stuff

An excellent post on "noobs vs. developers"

A few opinions on kernel development "good practices"

Note: I have chosen not to use XDA's "friends" feature - I will reject all incoming "friend" requests.

Code:
<MikeyMike01> Smali is a spawn of hell
<shoman94> ^^^ +!
Code:
<Entropy512> gotta be careful not to step on each other's work.  :)
<Bumble-Bee> thats true
<jerdog> compeete for donations
The Following 12 Users Say Thank You to Entropy512 For This Useful Post: [ Click to Expand ]
 
Entropy512
Old
(Last edited by Entropy512; 24th January 2012 at 03:29 AM.)
#4  
Senior Recognized Developer - OP
Thanks Meter 24108
Posts: 13,135
Join Date: Aug 2007
Location: Owego, NY

 
DONATE TO ME
OK, right now this post only has documentation of one "special but safe" feature:

To enable debugging of high deleted_wake_locks time, I've set this up to allow wake_lock_destroy() to be debugged without enabling DEBUG_WAKE_LOCK (which spams dmesg with a ton of stuff not needed for wake_lock_destroy() debugging). To enable, add 32 to the value of /sys/module/wakelock/parameters/debug_mask - This defaults to 3, so the proper value is 35.
Code:
Select Code
echo "35" > /sys/module/wakelock/parameters/debug_mask
Return this to 3 to set it back to the default.

With this, you'll see wake_lock_destroy debugging information in your dmesg output. This is only needed if you have very high deleted_wake_locks times.
*so much sig updating needed*

My Github profile - Some Android stuff, some AVR stuff

An excellent post on "noobs vs. developers"

A few opinions on kernel development "good practices"

Note: I have chosen not to use XDA's "friends" feature - I will reject all incoming "friend" requests.

Code:
<MikeyMike01> Smali is a spawn of hell
<shoman94> ^^^ +!
Code:
<Entropy512> gotta be careful not to step on each other's work.  :)
<Bumble-Bee> thats true
<jerdog> compeete for donations
The Following 7 Users Say Thank You to Entropy512 For This Useful Post: [ Click to Expand ]
 
eep2378
Old
#5  
eep2378's Avatar
Recognized Contributor
Thanks Meter 1887
Posts: 5,656
Join Date: Aug 2010
Location: MA

 
DONATE TO ME
If we're not rooted(stock) this will give us root? Or just cwm where we can either use superoneclick or your pre rooted kernel?
Nexus 5 (White, 32GB)
Rom: L preview
Kernel: stock

"Physics makes us all its bitches"

Follow me on Twitter: https://twitter.com/eep2378

 
Entropy512
Old
#6  
Senior Recognized Developer - OP
Thanks Meter 24108
Posts: 13,135
Join Date: Aug 2007
Location: Owego, NY

 
DONATE TO ME
Quote:
Originally Posted by eep2378 View Post
If we're not rooted(stock) this will give us root? Or just cwm where we can either use superoneclick or your pre rooted kernel?
If it's in "planned features" - it's not in yet.

However it can be SOCed just like codeworkx's kernel
*so much sig updating needed*

My Github profile - Some Android stuff, some AVR stuff

An excellent post on "noobs vs. developers"

A few opinions on kernel development "good practices"

Note: I have chosen not to use XDA's "friends" feature - I will reject all incoming "friend" requests.

Code:
<MikeyMike01> Smali is a spawn of hell
<shoman94> ^^^ +!
Code:
<Entropy512> gotta be careful not to step on each other's work.  :)
<Bumble-Bee> thats true
<jerdog> compeete for donations
The Following 2 Users Say Thank You to Entropy512 For This Useful Post: [ Click to Expand ]
 
shishir95
Old
(Last edited by shishir95; 5th October 2011 at 03:06 AM.)
#7  
Senior Member
Thanks Meter 588
Posts: 754
Join Date: Feb 2010
Location: Chantilly

 
DONATE TO ME
Works fine, as in I don't notice a huge difference in speed or anything but huge differences after changing kernels shouldn't really happen so I guess that's good.
. HTC One
. GPe 4.4.4/Sense 6
 
wonner
Old
#8  
wonner's Avatar
Senior Member
Thanks Meter 157
Posts: 497
Join Date: Dec 2010
Location: Hayward, CA
I flashed your kernel with Odin and I think it went well. Will kernel version in About phone be the same as stock (2.6.35.7)?
The Following User Says Thank You to wonner For This Useful Post: [ Click to Expand ]
 
designgears
Old
#9  
designgears's Avatar
Recognized Developer
Thanks Meter 8670
Posts: 4,875
Join Date: Feb 2010
Location: SLC

 
DONATE TO ME
Thanks for using the recommended toolchain to compile

all the newer ones seem to cause the SGS2 to get very warm.
"haters can make like bees with no stingers, and drop dead" -Eminem

Follow me on Twitter!
 
Entropy512
Old
#10  
Senior Recognized Developer - OP
Thanks Meter 24108
Posts: 13,135
Join Date: Aug 2007
Location: Owego, NY

 
DONATE TO ME
Quote:
Originally Posted by shishir95 View Post
Works fine, as in I don't notice a huge difference in speed or anything but huge differences after changing kernels shouldn't really happen so I guess that's good.
Shouldn't be any difference in speed - might even be slightly slower since I make conservative governor default for battery saving purposes. You can change this with SetCPU.

Quote:
Originally Posted by wonner View Post
I flashed your kernel with Odin and I think it went well. Will kernel version in About phone be the same as stock (2.6.35.7)?
In About Phone, yes. If you use a more advanced info tool that shows the localversion, the git tag should be appended and the user@host build info should be adodd@quadmonkey. I'm going to be adding a CONFIG_LOCALVERSION tag in the future.

I just had my first Sleep of Death and realized I'm missing last_kmsg support. That's on the list for Planned Features, short-term now.
*so much sig updating needed*

My Github profile - Some Android stuff, some AVR stuff

An excellent post on "noobs vs. developers"

A few opinions on kernel development "good practices"

Note: I have chosen not to use XDA's "friends" feature - I will reject all incoming "friend" requests.

Code:
<MikeyMike01> Smali is a spawn of hell
<shoman94> ^^^ +!
Code:
<Entropy512> gotta be careful not to step on each other's work.  :)
<Bumble-Bee> thats true
<jerdog> compeete for donations

The Following 2 Users Say Thank You to Entropy512 For This Useful Post: [ Click to Expand ]
Tags
cwm, kernel
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes