Jump to content

  1. 0
  2. 0
  3. 0/5

Rate this Topic

* * * * *
13 votes

GN-GSM[Hybrid-3.0.53]JB:Pre-UV,OC,TUN,CIFS,OTG,FIOPS(v024)[Nov-27]

  • Please log in to reply

OP faux123

faux123

Kernel Haxor

Posted 10 December 2011 - 07:49 AM #1

Mod Type:: Kernel

Difficulty:: Very Easy

Mod Base:: AOSP

Mod Status:: Stable

Apply In:: CWM Recovery

Carrier:: Unlocked GSM

Optional:: Insecure Boot

Requires Root:: Yes

Optional:: Overclocked

Android Version:: 4.1.1 (JB)

Source::

NOTICE: This is COMPATIBLE with ALL Google Rooted Stock and Custom ROMs based on JellyBean (4.1x) and Ice Cream Sandwich (4.0.X)!

For frequency control use SystemTuner by 3C or SetCPU app by coolbho3k

Just a statement regarding kernel source: The Kernel Source is of course covered under GPL version 2. Free software does NOT mean no work or time was spent working on it. I have donated a large sum of my free time to hack this kernel. If you use my modified kernel source in parts or in its entirety, I kindly ask you mention its origins and to send me a github pull request or PM whenever you find bugs or think you can help improve my kernel hack further. This way the entire community will truly benefit from the spirit of open source. Thank you !


Hi RootzWiki members and fellow Samsung users:

This is my fourteenth kernel hack. I want to thank b16, and the entire RootzWiki Staff, and several others I cannot recall for inspiring me to venture into this unfamiliar territory for me.

What is a Kernel? The Kernel is the Foundation in which everything else builds upon in any software system.
[Car Analogy]: Kernel is like the Engine, Electrical system and the Transmission to a car. The Library, Framework and the Apps [AKA ROM] are the body frame and the rest of the Car.

Posted Image


THIS KERNEL is BASED ON Google Source Code. So it is COMPATIBLE WITH ALL AOSP ICS 4.0.1, 4.0.2 or 4.0.3 Builds.

DO NOT use any task killers, they DO NOT improve performance nor battery life. They INTERFERE with your phone's stability (more crashes) and App compatibilities (Forced Close).


Kernel Features:

So what type of kernel is this? Well, this kernel is based on Linux 3.0.y (says so from the version string) but it's really a hybrid between Linux 3.0.y and Linux 3.3+ due to many features introduced from Linux 3.3+ (for specific details on technologies, see 2nd post below!)
Features in Magenta are identical as the latest Linux 3.3-rc2

Memory Management subsystem:
-- feature SLQB allocator ( http://lwn.net/Articles/311502/ )
-- enabled memory control group (ultimate ONLY)
-- SLUB completed updated to Linux 3.3-rc2 (kernel 013+)
-- enabled KSM for CM9 Dalvik hack also completely updated to Linux 3.3-rc2 (kernel 013+)
-- vmalloc completely updated to Linux 3.3-rc2 (kernel 013+)
-- vmscan completely updated to Linux 3.3-rc2 (kernel 013+)
-- memcontrol completely updated to Linux 3.3-rc2 (kernel 013+)
-- memory compaction completely updated to Linux 3.3-rc2 (kernel 013+)
-- page writeback completely updated to Linux 3.3-rc2 (kernel 013b6+)
-- filemap completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- swap/swapfile completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- shmem completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- memblock completely updated to Linux 3.3-rc3 (kernel 013b13+)
-- oomkill completely updated to Linux 3.3-rc3 (kernel 013b13+)

Init:
-- kernel init completely updated to Linux 3.3-rc3 (kernel 013b8+)

Core Kernel:
*** RCU:
-- completely updated to latest preemptive tree RCU to Linux 3.3-rc2 ( http://en.wikipedia....ead-copy-update )
*** Scheduler:
-- back ported select Linux 3.3+ cgroup (cpu control groups), threadgroup optimizations
-- cherry picked select NOHz optimizations from Linux 3.3+ ( http://www.phoronix....m=651&num=1 )
-- multi-threaded device initialization
-- cherry picked the new lockless list support from Linux 3.3+ ( http://lwn.net/Articles/423366/ )

Power Management:
-- cherry picked select PM optimizations from Linux 3.2+
-- cherry picked select CPUIDLE optimizations from Linux 3.3+
-- Added Two-Phase Power Savings to OnDemand Governor
-- Added screen off hotplug capability to Interactive (default), OnDemand and Conservative governors

File System:
-- DOS VFAT (read/write), NTFS (read/write), CDROM/UDF FS, CIFS+UTF-8 (windows share) all built-in
-- Filesystem writeback completely updated to Linux 3.3-rc2 (kernel 013b6+)
-- Asynchronous I/O completely updated to Linux 3.3-rc3 (kernel 013b6+)

Block I/O:
-- Deadline (default), No-op, FIOPS (back ported from Linux 3.3+), CFQ
-- Completely updated to Linux 3.3-RC3 (kernel 013b13+)
-- FIOPS version 2 (kernel 013+)

Kernel Features:
-- CleanCache Enabled ( http://lwn.net/Articles/386090/ ) (ultimate ONLY)
-- FrontSwap Enabled and updated to latest revisions slated for Linux 3.3+ (ultimate ONLY)

Device Drivers:
-- USB OTG (USB On-the-Go, aka USB Host-like support allows for external USB sticks, Keyboard/Mice)
-- DeviceMapper Cache capability ( http://sourceware.org/dm/ )
-- updated ZRAM / ZCache to latest Linux 3.3+ (compressed RAM devices) (ultimate ONLY)
-- Added Google's Snappy Compression support (alternative to LZO compression written by Google) (ultimate ONLY)
-- Patched OMAP4 Real-Time Clock with latest updates
-- Patched TWL6040 Codec with latest updates and optimization
-- ARM Berkeley Network Packet Filter Just-in-Time (JIT) compiler support ( http://en.wikipedia....y_Packet_Filter )
-- Added CM9 / Supercurio Color Gamma Hack (kernel 013b13+)

Library Support:
-- Optimized CRC32 and CRC32c with Sliced by 8 algorithm (used by TCP/IP and File Systems)
-- Optimized memcpy and string libraries (used by many things)
-- Updated IDR library to Linux 3.3-rc2 (kernel 013+)
-- more selective cherry picks from Linux 3.3-rc3 (kernel 013b8+)

ARM / OMAP architecture drivers:
-- Patched ARM VFP with latest updates (floating point optimization)
-- Patched ARM hotplug with latest updates (turning on/off CPUs)
-- Patched OMAP4 SmartReflex with latest updates (OMAP4xxx Hardware assisted Dynamic Voltage Scaler)
-- Patched ARM cache code with latest updates (L1/L2 Cache controls)
-- Asynchronous SMP initialization
-- CPU Overclocking to max 1.35GHz (with additional freq @ 1.06GHz, 810MHz and 525MHz)
-- GPU Overclocking to 384 MHz from 307 MHz (ultimate ONLY)

Kernel Tweaks:

Force USB (fast) charge profile:
echo 1 > /sys/kernel/fast_charge/force_fast_charge (enable)
echo 0 > /sys/kernel/fast_charge/force_fast_charge (disable)

Gamma Adjustments: (default 60 for all three)
echo xx /sys/class/misc/samoled_color/red_v1_offset
echo xx /sys/class/misc/samoled_color/green_v1_offset
echo xx /sys/class/misc/samoled_color/blue_v1_offset

Color Multiplier Adjustments:
echo xx /sys/class/misc/samoled_color/red_multiplier
echo xx /sys/class/misc/samoled_color/green_multiplier
echo xx /sys/class/misc/samoled_color/blue_multiplier

Original Color Multiplier values for reference just in case of accidents ;)
(use any file manager and view those files as text)
/sys/class/misc/samoled_color/red_multiplier_original
/sys/class/misc/samoled_color/green_multiplier_original
/sys/class/misc/samoled_color/blue_multiplier_original

Installation Instructions:

*** JELLYBEAN 4.2.0 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones)
The File == Tuna JellyBean kernel == (GPU @ 384 MHz)

[ CFS ] (Mainline SmartReflex Edition - should work with ALL phones)
The File == Tuna JellyBean kernel == (GPU @ 384 MHz)

[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna JellyBean kernel == (User UV Control, Enabled GPU Overclock to 512 MHz)

[ CFS ] (Ultimate SmartReflex Edition - should work with ALL phones but may require BootLoop Calibrations!)
The File == Tuna Jelly Bean kernel == (Enabled SmartReflex 1.5, Enabled GPU Overclock to 512 MHz)

*** JELLYBEAN 4.1.0 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones)
The File == Tuna JellyBean kernel == (GPU @ 384 MHz)

[ CFS ] (Mainline SmartReflex Edition - should work with ALL phones)
The File == Tuna JellyBean kernel == (GPU @ 384 MHz)

[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna JellyBean kernel == (User UV Control, Enabled GPU Overclock to 512 MHz)

[ CFS ] (Ultimate SmartReflex Edition - should work with ALL phones but may require BootLoop Calibrations!)
The File == Tuna Jelly Bean kernel == (Enabled SmartReflex 1.5, Enabled GPU Overclock to 512 MHz)

*** ICE CREAM SANDWICH 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna ICS kernel ==

[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna ICS kernel == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)

[ CFS ] (Ultimate SmartReflex Edition - should work with ALL phones but may require BootLoop Calibrations!)
The File == Tuna ICS kernel == (Enabled SmartReflex 1.5, Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)

Here's a step by step instruction to install this kernel:

1. download the above file (via phone directly or to a PC)
2. copy the downloaded zip file to /sdcard/download/
3. Open ROM Manager and select "Reboot into Recovery" and select "OK"
4. Once in recovery, select "wipe cache partition", select "Yes", then select "advanced", then select "Wipe Dalvik Cache", then select "Yes" again. Once finished, click the back button to go back to the main recovery menu. On that menu, select "Install Zip From SDCad", then select "Choose zip from SDCard", then go to /sdcard/download and select the downloaded zip file and let it run its script.
5. Once the script is done, select "reboot system now"

Note: After FLASHING, the first reboot may take longer than usual, please be patient... After the first reboot, it may lag during initial load (let everything finish loading). Once everything is loaded and phone is ready for use, reboot the phone a 2nd time and the lag will be gone and everything should be silky smooth...


[ Advanced Users: ]

[ Optional: ]

If you encountered any funny / weird / strange issues coming from other than 100% pure stock ROMs or my kernels, the following "Reset Kernel" will restore the kernel to its Original Stock Settings.
After applying the reset kernel, then load my latest kernel again.


*** ICE CREAM SANDWICH 4.0.1 System Image ***
Upgrade to 4.0.2 image from Google (http://code.google.c...ages.html#yakju)

*** ICE CREAM SANDWICH 4.0.2 System Image *** (NOTE: Kernel 013 is the FINAL UPDATE for ICS 4.0.2)
Upgrade to 4.0.4 image from Google (http://code.google.c...ages.html#yakju)


*** JellyBean -- RESET KERNEL (FOR STOCK BASED ROM ONLY. FOR CM SIMPLY REFLASH THE LATEST NIGHTLY, then FLASH my KERNEL AFTERWARDS) ***

http://faux.androidr...eset-Kernel.zip

*** ICS 4.0.2 -- RESET KERNEL ***

ICS 4.0.2 Reset Kernel

*** ICS 4.0.3 -- RESET KERNEL ***

ICS 4.0.3 Reset Kernel

*** ICS 4.0.4 -- RESET KERNEL ***

ICS 4.0.4 Reset Kernel

*** CM9 4.0.4 -- RESET KERNEL ***

http://faux.androidr...eset-Kernel.zip

[ For Kernel Devlopers ONLY: ]

NEWS BULLETIN:

Version 020 is OUT! With optional SmartReflex automatic UV!!!

Please don't hesitate to talk among yourselves and help each other out... The RootzWiki community is what inspired me to hack kernels for everyone since everyone here is nice and helpful to each other... Keep helping each other.... Famous proverb: It's better to give than to receive...

BUGS:

Not All CHIPS ARE CREATED EQUAL


TO DO:

version 0.x.x -- more to come...

History:

See Post below...

[b]Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this kernel!!!


[b]My github Complying with GPL and RW rulez Posted Image

Follow me on Posted Image:

If you find this Kernel useful, feel free to hit the [Thanks] button below

Edited by faux123, 27 November 2012 - 11:33 PM.

  • 57 Likes

OP faux123

faux123

Kernel Haxor

Posted 10 December 2011 - 07:49 AM #2

History:

Version 001 (deprecated)

Initial CAF source baseline from 2011-11-21
Merged to kernel.org version 3.0.13

Version 002 (deprecated)

Enabled CIFS+UTF-8
Enabled PPP Async support
arm: Allow CPU-supported unaligned accesses
dm-cache: block level disk cache target for device mapper
PM / Sleep: Unify diagnostic messages from device suspend/resume
PM / Usermodehelper: Fix freezer failures due to racy usermodehelper_is_disabled()
PM / Docs: Recommend the use of [un]lock_system_sleep() over mutex_[un]lock(&pm_mutex)
PM / Sleep: Replace mutex_[un]lock(&pm_mutex) with [un]lock_system_sleep()
PM / Sleep: Make [un]lock_system_sleep() generic
PM: Use the freezer_count() functions in [un]lock_system_sleep() APIs
PM / Freezer: Remove the "userspace only" constraint from freezer[_do_not]_count()
mm: simplify find_vma_prev
vmalloc: Remove static declaration of va from __get_vm_area_node
cifs: Use kcalloc instead of kzalloc to allocate array
nohz: Remove ts->inidle checks before restarting the tick
mm/slqb: replace deprecated function
sched/rt: code cleanup, remove a redundant function call
ARM: Add optimised swahb32() byteswap helper for v6 and above
nfs: writeback pages wait queue
block: limit default readahead size for small devices
PM / Suspend: Fix bug in suspend statistics update
make default readahead size a kernel parameter
mm/vmalloc.c: eliminate extra loop in pcpu_get_vm_areas error path
PM / Sleep: Remove pm_runtime_suspended() from __pm_generic_call()
lockdep: print lock name for lockdep_init_error
kernel:sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire
sched: don't call task_group() many times in set_task_rq()
partition_sched_domains: Do not destroy old sched domain on cpu_up
printk: Don't allow cpu to get console lock during hotplugging
cpu-hotplug: Add the function 'cpu_hotplug_inprogress'
init/main.c: execute lockdep_init as early as possible
CPU hotplug, PM: Remove unused symbol 'suspend_cpu_hotplug'
kernel: Set the command name of the idle tasks in SMP kernels v3
ARM/mm: drop GFP_COMP for dma_alloc_coherent
crc32: expose __crc32c_le to fix compilation error for crc32c
crc32: Select an algorithm via kconfig
crypto: crc32c should use library implementation
crc32: Add self-test code for crc32c
crc32: Bolt on crc32c
crc32: final
crc32: optimize loops for x86
crc32: add slicing by 8
crc32: add real 8 bit
crc32: fix check endian warnings
crc32: misc cleanup
crc32: add pointer to tab
crc32: replace self test
crc32: move to documentation
crc32: remove trailing whitespace
ARM: support XZ compressed kernels
compilation: add compiler optimization flags
block: introduce the BFQ-v2-r1 I/O sched for 2.6.37
block: prepare I/O context code for BFQ
patch: add SLQB memory allocator by Nick Piggin

Version 003 (deprecated)

Added CPU Undervolt by creator of SetCPU app coolbho3k
Added GPU Overclocking by creator of SetCPU app coolbho3k

Version 004 (Long Term Release - 4.0.3)

The File ==> Tuna kernel 0.0.4r <==

USB Gadget/OTG dual mode support (for USB Mass, use StickMount from Market!)
OPP4xxx: Add compile time undervolt option
Remove ARM sha1 routines
lib/sha1: use the git implementation of SHA-1
opp4xxx: enable OPPNitro speed bin
lib/memcopy: use glibc version
lib/string: use glibc version
Asynchronous I/O improvement
usb/host/echi-dbg: fix stack overflow warning
sched: fix nohz idle load balancer issues (part 2)
sched: fix nohz idle load balancer issues

Version 005 (deprecated - 4.0.3)

Patched to kernel.org 3.0.14
cpufreq: tweak ondemand defaults
block: recursive merge requests
block, cfq: fix empty queue crash caused by request merge
usb: musb: remove a bit of indentation
usb: musb: trivial cleanup
usb: musb: fix pm_runtime mismatches
usb: musb: fix pm_runtime mismatch
cgroups: remove redundant get/put of css_set from css_set_check_fetched()
sched: add missing rcu_deref around real_parent
sched: mark parent and real_parent as __rcu
memcg: simplify LRU handling by new rule
memcg: clear pc->mem_cgorup if necessary.
memcg: simplify corner case handling of LRU.
memcg: add mem_cgroup_replace_page_cache() for fixing LRU issue.
memcg: simplify page cache charging.
cpufreq: add ondemand two-phase scheduling

Version 006/7 (deprecated - 4.0.2/4.0.3)

fixed VFS race conditions
Instead of 90% of stock voltage, raising to 95% of stock voltage values.
Fixed GPU OC to true 384 MHz (Ultimate ONLY)
Fixed and enabled Hot-plug governor (governor itself is fine, the fix is in the kernel SMP code in general)
Updated cpuidle driver from Linux 3.2.x
Updated Mempool from Linux-Next
Updated and Enabled cgroup for memory resources from Linux-Next (Ultimate ONLY)
Updated and Enabled zcache from Linux 3.2.x


Version 008 (deprecated - 4.0.2/4.0.3)

Add brand new I/O Scheduler designed from specifically for FLASH devices (FIOPS)
Further Tuned OnDemand Governor
Disable CleanCache
Update Block I/O to Linux-Next
Applied a few updates from omapzoom related to PM
Add Early Suspend / Late Resume to Interactive Governor
Add Early Suspend / Late Resume to OnDemand Two-Phase Governor
Add Snappy Compression ZRAM

Version 009 (LONG Term Release - 4.0.2/4.0.3)

*** 4.0.2 System Image ***
The File == Tuna kernel 0.0.9m ==
The File == Tuna kernel 0.0.9u == (Enabled Memory resource control enabled, Enabled GPU Overclock to 384 MHz)

*** 4.0.3 System Image ***
The File == Tuna kernel 0.0.9m ==
The File == Tuna kernel 0.0.9u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)

Fixed USB drain bug
Further pre-UV @ 92% of stock voltages
Added intermediate frequencies @ 525MHz, 810MHz and 1060MHz
Default @ 1.2 GHz after startup
Joe's RCU (directly from Joe's Email to me)
Multi-threaded Kernel Device Initialization

Version 010 (deprecated - 4.0.2/4.0.3)

updated hrtimer to use usleep_range (more accurate time tracking)
added OMAP4 patch for HSI issues (bug fixes)
added vmscan patches (bug fixes)
increased voltage by 1.5%, so it's now pre-uv'ed to 93.5% of stock voltages (stability)
revert multi-threaded device init (camera fix...)
added mfd optimization for twl6040 codec (performance enhancement)
added JIT compiler for packet filters (performance enhancement)
added mmc patch for deadlock (bug fixes)
added OMAP4 patch for DSS issues (bug fixes)
added cpufreq patches (bug fixes)
added memcg bug patches (bug fixes)
patched FrontSwap to complement CleanCache for complete I/O performance enhancement support. (performance enhancements)
added latest OMAP patches from omapzoom.org relevant to OMAP4460 (bug fixes)
Patched to kernel.org 3.0.17 (kernel update)

Version 011 (deprecated - 4.0.2/4.0.3)

Applied bunch of OMAP patches from omapzoom.org
Added hotplug capability to conservative governor as well when screen is off
Tweaked conservative governor to be slightly more responsive (nothing massive)
Reduced Ultimate GPU OC from 422.4MHz to 403.2MHz when running CPU @ 1.35 GHz OC for better stability!
Increased Mainline GPU OC voltage from 1.096 volts to 1.113 volts when running CPU @ 1.35 GHz OC for better stability!
Fixed couple of minor merge errors (vmscan)
Patched to kernel.org 3.0.18 (patched the recently found exploit gaining illegal root access)
Tweaked GPU max frequency @ 422 MHz and use same voltage value as old 384 MHz for Ultimate (for even better performance without increasing voltage)
Tweaked GPU to use lower max frequency @ 345 MHz and lower voltage for Mainline (for even lower battery consumption while screen on)
kernel NOHZ patches (better performance, better battery)
kernel cgroup patches (bug fixes)
OMAP specific RTC, USB patches (better performance and bug fixes)
ARM cache patches (better performance)

Version 012 (deprecated - 4.0.2/4.0.3)

revert SMP patch based on notifications
Updated to kernel.org 3.0.19 (bug fixes and performance)
Another 30+ patches (over 110+ total patches) for RCU bring RCU to the ABSOLUTE latest release (performance and battery life)
adjusted hotplug governor patches for interactive, ondemand and conservative slightly (bug fixes)
Tweaked voltages again:
core voltages to 95.0% of stock (used by GPU and everything ELSE in the system)
mpu voltages to 90.0% of stock (used only by CPUs)
iva voltages to 93.5% of stock (used only by Audio/Video DSP)
revert Asynchronous SMP boot (could be the culprit for the reboots when coming out of sleep)
added 2 more latest RCU updates (performance enhancement and battery life)
added cpuidle patch (battery life)
reverted Joe's RCU in favor of newest RCU Forward port.
Updated over 80+ patches to the latest RCU based on Linux 3.3 rc5 (better performance & battery life)
Cherry picked selected Linux 3.3 rc5 NOHz scheduler updates (better performance & battery life)
board/pm44xx: change from err to info for PM debugging message (easier for me to read)
usb/host: fix trivial merge error (bug fix - small omission)
cpufreq: update early suspend level to EARLY_SUSPEND_LEVEL_STOP_DRAWING (delay hotplug until all drawings are done!)
cpufreq/interactive: add early suspend/late resume drivers support (For ICS 4.0.3 ONLY, DOH forgot...)
opp4xxx_data: under volt MPU to 90% of stock (further UV!) <== TEST THIS for stability!!!
OMAP4: PM: Handle LPDDR CLK IO errata during suspend/idle (bug fix)
rpmsg: resmgr: disable aux_clk_src in case of error (bug fix)
ARM: vfp: clear fpscr length and stride bits on entry to sig handler (bug fix)
ARM: vfp: move user vfp state save/restore code out of signal.c (bug fix)
Revert "ARM: vfp: clear fpscr length and stride bits on entry to sig handler"
ARM: OMAP3+: SmartReflex: fix error handling (bug fix)
ARM: OMAP2+: arch/arm/mach-omap2/devices.c: introduce missing kfree (bug fix)
ARM: OMAP: fix erroneous mmc2 clock change on mmc3 setup (bug fix)
ARM: OMAP2+: GPMC: fix device size setup (bug fix)
ARM: fix rcu stalls on SMP platforms (bug fix)
OMAP4: Clock: Force a DPLL clkdm/pwrdm ON before a relock (bug fix)
kernel/timer: Optimise apply_slack() for size and speed. (performance enhancement)
mm: compaction: Check pfn_valid when entering a new MAX_ORDER_NR_PAGES block during isolation for migration (bug fix)
ARM: OMAP3+: SmartReflex: fix the use of debugfs_create_* API (bug fix)
ARM: OMAP3+: SmartReflex: micro-optimization for sanity check (bug fix)
ARM: OMAP3+: SmartReflex: misc cleanups (bug fix)
ARM: OMAP3+: SmartReflex: move late_initcall() closer to its argument (bug fix)
ARM: OMAP3+: SmartReflex: add missing platform_set_drvdata() (bug fix)
ARM: OMAP2+: clock: cleanup CPUfreq leftovers (bug fix)
smp: Start up non-boot CPUs asynchronously (performance enhancement)
ARM: vfp: clear fpscr length and stride bits on entry to sig handler (bug fix)
ARM: vfp: flush thread hwstate before copying ptrace registers (bug fix)
ARM: vfp: fix ptrace regset modification race (bug fix)
ARM: vfp: flush thread hwstate before restoring context from sigframe (bug fix)
ARM: OMAP2+: PM: clean up omap_set_pwrdm_state() (bug fix)
ARM: Skip unnecessary pte makeup when clearing it (performance enhancement)[/b]

Version 013 (LONG Term Stable Release- 4.0.2/4.0.3)

*** 4.0.2 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 013m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 013u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)

*** 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 013m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 013u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)

revert asynchronous SMP boot
Updated MM folder to Linux 3.3-rc3
Updated Block folder to Linux 3.3-rc3
Updated AIO to Linux 3.3-rc3
Cherry-picked scheduler Optimization from Linux 3.3-rc3+
added CM9's (aka Supercurio's) Voodoo Color/Gamma control kernel patch.
Updated to kernel.org's 3.0.21
-- filemap completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- swap/swapfile completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- shmem completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- kernel init completely updated to Linux 3.3-rc3 (kernel 013b8+)
-- more selective cherry picks from Linux 3.3-rc3 (kernel 013b8+)
-- memory page writeback completely updated to Linux 3.3-rc2 (kernel 013b6+)
-- FIOPS version 2 (kernel 013+) **made default by requests...
-- Filesystem writeback completely updated to Linux 3.3-rc2 (kernel 013b6+)
-- SLUB completed updated to Linux 3.3-rc2 (kernel 013+)
-- enabled KSM for CM9 Dalvik hack also completely updated to Linux 3.3-rc2 (kernel 013+)
-- vmalloc completely updated to Linux 3.3-rc2 (kernel 013+)
-- vmscan completely updated to Linux 3.3-rc2 (kernel 013+)
-- memcontrol completely updated to Linux 3.3-rc2 (kernel 013+)
-- memory compaction completely updated to Linux 3.3-rc2 (kernel 013+)
-- FIOPS version 2 (kernel 013+) **NOT SELECTED BY DEFAULT, MUST use SystemTuner or VoltageControl app to switch to it.
-- Updated IDR library to Linux 3.3-rc2 (kernel 013+)

Version 014 (deprecated - 4.0.3/4.0.4)

Raised Thermal Throttle limit from 64 degrees to 74 degrees Celcius
Added 1.42GHz and 1.48GHz Overclocking steps with working voltage controls for all slots ;)
Added WORKING ;) user voltage control (compatible with SetCPU, SystemTuner)
NOTE: If you use voltage control in ANY WAY OR FASHION, THERE WILL BE NO SUPPORT FROM ME if it crashed or have weird errors!!!
Massive updates to FUSE and EXT4 bring them to latest Linux 3.3-rc4
Massive updates to VFS subsystem bring it to latest Linux 3.3-rc4
Kernel.org Patch to latest 3.0.24
Special Asynchronous I/O optimization to optimize ALL kernel I/O operations (supposedly faster than synchronous due to synchronous wait time)
Enabled NFS Client v3 and v4
Updated to kernel.org 3.0.23 from 3.0.21
Add USB fast charge hack by Chad
Add CM9 Color Multiplier hacks
Add OMAP TWL6040 (audio) codec fixes

Version 015 (Short Term Release- 4.0.3/4.0.4)

*** 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 015m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 015u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)

Fix Settings->Apps->Running memory display issues since kernel 011 (Linux 3.0.18 patch)
Applied a few interactive governor patches from Google
disable the OMAP CPU1 PPA fix. (This patch was not new, I remembered it was causing issues, so disabled it again).
Enabled USB Serial FTDI and PL2303 (per request, built-in no .ko required)
patched to Official Google 4.0.4 kernel release
patched to kernel.org 3.0.26

Version 016 (Short Term Release- 4.0.3/4.0.4)

*** 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 016m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 016u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)

Updated Gamma/Color control from CM9 (NOTE: YOU MUST RE-ADJUST YOUR COLOR/GAMMA due to this CHANGE!!!!)
Added VSprint / Number conversion lib optimizations
Added latest Google Clean Room Interactive governor updates
Added Wifi Fast option for fast wifi speed while screen is off (Good for Skype when screen is off)
echo "Y" > /sys/module/bcmdhd/parameters/wifi_fast
Patched to mainline 3.0.29
Patched to latest Google MR1 release Kernel source from April :D
Added TI patches for EMIF (DDR RAM), USB, OTG (to save more battery when using), 32K timer
Enabled Higher Frequencies for IVA (image/video/audio DSP) Free performance boost for 3 different multimedia types!
Tons of TI OMAP 44xx Thermal Framework patches (Still WIP)
Latest patches from Android/Omap for input, cpufreq, RTC, L2 Cache and Netfilter
Tweaked Ondemand Governor Give Ondemand Governor a Try again!
patched to kernel.org 3.0.28 from 3.0.26
cpufreq: interactive - increase sampling time to during screen off
CPUfreq ondemand: update sampling rate without waiting for next sampling
gpu: ion: Use writecombined mappings for Tiler 2D
gpu: ion: Use writecombined mappings
OMAP4: DSS: Implement workaround for Errata ID:i733

Version 017 (Short Term Release- 4.0.3/4.0.4)

*** 4.0.3/4 System Image ***
[ CFS ] (Mainline Edition - should work with ALL phones! GPU Max Clock @307MHz)
The File == Tuna kernel 017m ==
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 017u == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)
[ CFS ] (Ultimate Edition - should work with ALL phones but at a higher battery cost!)
The File == Tuna kernel 017u-SR == (Enabled Memory resource control, Enabled GPU Overclock to 384 MHz)

Added TI's DDR RAM patch for low power down mode
Added kernel timer optimization
Added memory control group bug fix
Added SMP fix from Google.
Reduce WiFi voltage by 10%
add TI USB OTG patch
add interactive gov boost patch
add Android Binder patch from Linux 3.4+
back ported Android LMK and RAMConsole from Mainline Linux 3.4+ to 3.0
forward ported OMAP4 DSS Gamma control settings from Panda Board Linux 2.6.32 kernel
http://en.wikipedia....amma_correction (this gamma correction is done in the framebuffer, so it is a SOFTWARE correction, different from the Gamma Hacks by supercurio which is more of a Hardware gamma correction and are totally independent from each other. My own recommendation is value of 6)
there are 10 preset gamma tables. 0 ==> disable gamma correction,
1~10 ==> selects the gamma tables
5 ==> gamma of 1.0 to change:
su
echo 5 > /sys/devices/platform/omapdss/manager0/gamma
Added Scheduler Load balancing patches
Added Coupled CPU Idle engine (WIP)
Patched to Linux 3.0.30
Added latest Google Interactive Gov patches
Added ARM VFP patches
Added TI TWL Codec patches
Added my own SmartReflex Bypass capability! 1.42/1.48 GHz are stable again ;)(this would allow unofficial OPPs to run with SmartReflex without causing crashes due to aggressive UV)
Enabled TI SmartReflex 1.5 (-SR Ultimate Version ONLY)
Updated to latest Google Interactive governor
Patched Audio Codec from TI

Version 018 (Short Term Release- 4.0.3/4.0.4)

Updated to Linux 3.0.33
Added NoHz/Load Balance changes from Linux 3.4+
Fixed DSS power drain issue since Beta 4
Added USB DMA alignment patches
Switched to use generic strnlen_user and strncpy_from_user functions from Linux 3.4+
Added ARM ticketed Spinlocks (better spinlock performance)
reverted wifi voltage adjustment
Added OMAP DSS patch regarding framedrops
Added OMAP DVFS patach
Fixed USB gadget composite corruption
Reverted 2 load balance patches from 017 (According to original author from mainline, they were didn't help).
Added HDMI CEC support
Added HDMI CEC compatible Keyboard Support
Updated to Mainline Linux 3.0.32
Fix and optimize memory allocator (SLUB)
Add new USB Audio Source Gadget support
Fix several OMAP bugs
Update Google's Cleanroom interactive governor to the latest
Update Mainline Linux 3.0.31
patch CPU frequency changes (ie less prone to crash when switching above 1.35 GHz to lower)

Version 019 (JB/4.0.3/4.0.4)

[ JB ]
Fixed Ext4 ASEC loop mount issues (unable to install app2sd apps)
Added my own power.tuna.so to fix Google's hardcoded max_freq screen on/off (built from source)

[ common ]
Fixed MHL/HDMI dock issues
Opened up the potential of my kernel to 1.8 GHz STABLE! (blame Romanbb)
Updated to Mainline Linux 3.0.36
Fixed Scheduler wraparound bug
Fixed 2 block device bugs (backported from mainline Linux 3.5+)
Fixed 1 USB gadget bug from OMAPZOOM
Updated to Mainline Linux 3.0.35
Added TorPlus Compatibility Support
Added CM Vibration Kernel Interface
Removed some debugging flags from compilation
Patched iosched: prevent aliased requests from starving other I/O

Version 020 (JB)

Revert back to old Zcache driver... newer driver is very unstable
re-merged 3.0.39 by hand. Fixed a few auto-merge errors :P
Fixed /proc/last_kmsg issues (JB compatibility issues with Linux 3.4+ Android RAM console)
Used a re-based Zcache driver (completely re-written by the original author and backported to Linux 3.0 by me)
Updated 3 FUSE patches from Linux 3.5+
Updated to Linux 3.0.41
Added Google's TCP rate reduction algorithm (Linux 3.2+)
Switched to Westwood+ TCP congestion algorithms (supposedly better for Cell/Wifi Lossy style networks)
Updated to latest LZO compression algorithms (up to 2x faster than older version)
Updated ZRAM to use new LZO
Updated to Linux 3.0.40
Backported 2 scheduler fixes from Linux 3.5+
Tweaked Deadline I/O scheduler for better android performance
Added ARM asm optimized AES/SHA1 crypto libs for better IPSEC performance (up to 50% improvement)
Updated fs/sync to Linux 3.5+
Updated to Linux 3.0.39
Updated to Linux 3.0.38
GPU OC'ed to 512 MHz
Updated to Linux 3.0.37

Version 021 (JB)

cpufreq: fix interactive bug during hotplug …
kernel/resource.c: fix stack overflow in __reserve_region_with_split …
irq: Set CPU affinity as soon as the irq thread is created …
slub: zero page to fix boot crashes …
time: Move ktime_t overflow checking into timespec_valid_strict …
time: Improve sanity checking of timekeeping inputs …
time: Avoid making adjustments if we haven't accumulated anything …
dynamic file sync control :D
board/omap2plus-cpufreq: make CPU governor switch a compilation option
cpufreq: interactive: handle speed up and down in the …
cpufreq: interactive: keep freezer happy when not current governor …
cpufreq: interactive: take idle notifications only when active …
netfilter: xt_qtaguid: report only uid tags to non-privileged processes …
sched: unthrottle rt runqueues in __disable_runtime() …
block: reject invalid queue attribute values …
readahead: fault retry breaks mmap file read random detection …
ARM: 7178/1: fault.c: Port OOM changes into do_page_fault …
x86,mm: make pagefault killable …
wakeup: Use irqsave/irqrestore for events_lock
Added few more Linux 3.5+ bug fix patches!
Updated to a new PowerHAL (no kernel changes)
Applied a few 3.5+ bug fixes for block, FAT FS and Zcache
WiFi driver update (All post xxx.75 fixups)
2 kernel bug fix patches from Linux 3.5+
Introducing CFS load-tracking. (From Google for Linux 3.5+)
- It implements load-tracking on a per-sched_entity basis. This results in a bottom-up
- load-computation in which entities contribute to their parents' load, as
- opposed to the current top-down where the parent averages its children. In
- particular this allows us to correctly migrate load with their accompanying
- entities and provides the necessary inputs for intelligent load-balancing and
- power-management.
ARM: smp: Fix cpu_up() racing with sys_reboot …
sched: unify the check on atomic sleeping in __might_sleep() & schedu… …
block: Remove unnecessary requests sort. …
block: avoid unnecessary plug should_sort test. …
panic: Fix a possible deadlock in panic() …
mm/memblock: reduce overhead in binary search

Version 022 (JB)

revert 1 mainline patch for better I/O performance
add GPU governor select:

default GPU governor: "ondemand" the other is "performance" (full CLOCK no scaling)

to change GPU governor behavior:

echo 0 > /sys/kernel/pvr_simple_gov/pvr_simple_governor (for performance)
echo 1 > /sys/kernel/pvr_simple_gov/pvr_simple_governor (for ondemand, default setting)

Updated to linux 3.0.45
tweaked the minimum OPP voltage values
tweaked intellidemand some more
Added morphic's Contrast Hacks
Introducing the first ondemand GPU governor for OMAP4460!!!
it will now auto-switch between 3 different GPU speeds:
-- IDLE 156 MHz (uses core voltage 962 mv)
-- NOMINAL 307 MHz (uses core voltage 1127 mv)
-- TURBO 512/384 MHz (uses core voltage 1250 mv)

-- to check GPU usage do:
cat /sys/kernel/pvr_simple_gov/simple_gov_stats

timers: Avoid finding cpu for migration of running timers in __mod_ti… …
sched: Prevent wakeup to enter critical section needlessly
Linux 3.0.44
2 CPU IDLE patches from OMAP
Tweaked Intellidemand for better UI performance
Updated PowerHAL from 30k/300k to 50k/500k sampling rates (screen on/off)
Tweaked Intellidemand for better battery performance
Added 3 cpu idle patches
Added Intellidemand PowerHAL (Courtesy of Termleech. Thank you very much man!)
(no kernel changes, simply a lib update for the ROM)
patched Intellidemand to 3.2 with bug fixes
Introducing Intellidemand 3.1 :D
(See below for Intellidemand logic)

cpufreq/cpufreq_intellidemand: intellidemand cpufreq governor (version 3.1)

Intellidemand is inspired by ondemand governor. Its main features are:

- auto cpu hotplugging based on runnable thread average calculations
- detection of browsing mode (long screen on activities with moderate run
queue depth =< 38 )
- limit max frequencies when in browsing mode to conserve battery for long
duration tasks

Browsing State Determination:
1- Browsing state is enabled as power-on default. Browsing state is disabled
when run queue depth is > 38 for 2 consecutive samples
(very high instantaneous spikes)

Browsing State Limit Max Freq Logic (sliding window algorithm):
1- While Screen is ON > 3 min, and average load of the CPU is < 35%, then
CPU Max frequencies will remain power-on default
2- While Screen is On, if average CPU load > 35%, both CPUs max frequencies
will be limited to a lower user configurable max value
3- While Screen is On, After both CPUs' Max is limited to lowered max, when
the average CPU load has dropped down to less than < 25%, then both CPUs
Max freq will be restored to back to power-on default

Runnable Thread Auto-hotplug (fast hotplug / slow unplug algorithm):
1- When average number of running thread is < threshold, 2nd cpu will be
unplugged.
2- When > threshold, 2nd cpu will be hotplugged.
3- The logic applies a fast hotplug and slow unplug algorithm so 2nd core
will stay enabled longer to help deal with performance spikes

changes from Ver 3.0 -> Ver 3.1:
- add run queue persistence to better determine browsing state
changes from Ver 2.0 -> Ver 3.0:
- remove GPU Busy dependency for browsing state detection (this will make
the governor more portable to other platforms without specific GPU
architecture knowledge)

dependencies:
-- Qualcomm's run queue average logic (SOC independent logic)
-- TI's runnable thread average logic (SOC independent logic)

adapted for OMAP2 platform

Edited by faux123, 11 October 2012 - 09:58 AM.

  • 21 Likes

OP faux123

faux123

Kernel Haxor

Posted 10 December 2011 - 07:49 AM #3

DUE TO MY EXTREMELY BUSY SCHEDULE BOTH @ WORK AND @ HOME, I WILL ONLY MAKE MAJOR ANNOUNCEMENTS ONCE PER WEEK
Open Beta may not be stable and may cause issues with your phone!


By loading open beta you have agreed to:

1. To report all random reboots with associated /proc/last_kmsg
2. To provide feedback on errors or bugs with detail phone information such as ROM, kernel version, and apps
3. Participate in Forum discussions for the beta software with others without FLAMING each other or post useless information such as:
a) Phone doesn't boot (without providing any additional information, ROM versions etc)
B) phone is too hot (without providing any additional information, ie OC freq, UV etc)

The Open Beta system is designed to have the community help each other and the developers. This way, all potential bugs are flushed out so the final released version will be stable and error free. The more actively you participate in Beta Testing the better the final product will be (you are really helping yourself to create a better community software).

If you do NOT agree with the statements above, DO NOT load my Open Beta software.



Kernel 023 Open Beta 8 is out! (BETAs ARE ALWAYS ULTIMATE + SMARTREFLEX VERSION unless I stated otherwise)

JB ==> http://faux.androidr...rnel-023b10.zip


[ build 10 ]
Updated to JellyBean 4.2 MR1 Kernel release (compatible with 4.1.2 as well)

[ build 9 ]
Updated to Linux 3.0.51

[ build 8 ]
Updated to Linux 3.0.50

[ build 7 ]
Added sysfs entry for PVR governor to display GPU frequencies
Updated to Linux 3.0.49

[ build 6 ]
OTG Host Mode On Charge by Caio Keto (haven't tested it with my own Y-OTG cable)
patch => http://faux.androidr...Version-3.patch

[ build 5 ]
Linux 3.0.46
Google 4.1.2 Update (only 3 patches difference)
Some Linux Mainline Bug fixes
1 Linux kernel Vulnerability patched (CVE-2012-0957)
2 OMAPZOOM DSS updates (display stuff)
Tweaked Intellidemand for even MOAR battery life
Introducing Small-Task packing Scheduling ;)
-- packs smaller tasks together into the same scheduling group for better battery savings!
PVR Simple GPU governor Updates
-- Added "powersave" scheduler option for those who want to save even moar powa!
-- 0 => performance (run at Max speed either @ 512MHz for ultimate or 384MHz for mainline; Nenamark2 ultimate @ ~39 FPS)
-- 1 => ondemand (default, run between 512/307 MHz for ultimate, 384/307 MHz for Mainline; Nenamark2 ultimate @ ~35 FPS)
-- 2 => powersave (run at Min speed @ 307 MHz for ALL; Nenamark2 ultimate @ ~28 FPS)
-- to change gpu "governor", simple do "echo x > /sys/kernel/pvr_simple_gov/simple_govenor" x - 0~2 or use root explorer and simply edit the "file" with values from 0~2.

Edited by faux123, 15 November 2012 - 11:06 PM.

  • 2 Likes

OP faux123

faux123

Kernel Haxor

Posted 10 December 2011 - 07:49 AM #4

reserved 3....
  • 0 Likes

mike1986

mike1986

Android Revolution HD founder

Posted 10 December 2011 - 08:22 AM #5

Amazing mate! You can do the same thread in LTE section, because both devices use the same kernel.
  • 0 Likes

joackie27

joackie27

Android Beginner

Posted 10 December 2011 - 09:23 AM #6

Glad to have you on board the GN dev't. faux123! The more devs we have, the more options for the community! I used to rock your ROM on the G2x.
  • 0 Likes
“Intellectuals solve problems, geniuses prevent them.” - Albert Einstein

Stea1thmode

Stea1thmode

Android Beginner

  • 22 posts

Posted 10 December 2011 - 10:05 AM #7

Whoa! fast and silky smooth indeed. so far so good. Thanks so much, will monitor. The to do list looks exciting:)

Sent from my Galaxy Nexus using Tapatalk

Edited by Stea1thmode, 10 December 2011 - 10:32 AM.

  • 0 Likes
It's not how you start, it's how you finish.

termleech

termleech

Super User

Posted 10 December 2011 - 02:27 PM #8

You might want to clear out your OP.

Cleancache -> don't need that shit and causes extra CPU/IO overhead
ZRAM -> What? Comon... we don't need that shit, it's useless
jRCU -> Sorry there is no jRCU for 3.x as of yet, me and Joe Korty are working on it
Fast NO HZ RCU - > Can't use that because in order to compile this kernel you need to have CONFIG_PREEMPTION activated
Smartassv2 -> I'm sorry, but it sucks
Interactive -> Same thing
BFS -> Doesn't boot. On the Nexus S caused a lot of issues to stock rom users because sdcard wasn't mounted etc etc
BFQ -> Seriously? Comon...

Have fun.


Perhaps you need to go back to XDA with that attitude. That post was useless and did nothing for the developer community. Or at least give a little better explanation that "it sucks."

Sent from my Galaxy Nexus using Tapatalk
  • 0 Likes
“For a long time it puzzled me how something so expensive, so leading edge, could be so useless. And then it occurred to me that a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are, in short, a perfect match.” (Bill Bryson)

franciscofranco

franciscofranco

Android Lover

Posted 10 December 2011 - 02:48 PM #9

Perhaps you need to go back to XDA with that attitude. That post was useless and did nothing for the developer community. Or at least give a little better explanation that "it sucks."

Sent from my Galaxy Nexus using Tapatalk


I told him my opinions about his OP items, I don't see a problem with it, it was constructive criticism.
  • 0 Likes

b16

b16

Developer Relations

Posted 10 December 2011 - 02:54 PM #10

Back on topic please, thanks! Keep up good work Faux!
  • 0 Likes

Remember - Remain respectful to others as you would wish to be treated.
Please read the RULES before posting.

Want to sign up to be a developer? Check the requirements.