5,815,095 Members 38,353 Now Online
XDA Developers Android and Mobile Development Forum

[ARC/S][KERNEL] LuPuS-JBv12 [JB 4.1 & 4.2][LINARO 4.7.3][UPDATED 08-06-13]

Tip us?
 
wedgess
Old
(Last edited by wedgess; 8th June 2013 at 12:12 PM.)
#1  
wedgess's Avatar
Forum Moderator / Recognized Developer - OP
Thanks Meter 13,457
Posts: 2,768
Join Date: Apr 2012
Location: Dublin, Ireland

 
DONATE TO ME
Default [ARC/S][KERNEL] LuPuS-JBv12 [JB 4.1 & 4.2][LINARO 4.7.3][UPDATED 08-06-13]

LuPuS-JB-Kernel
Built with Linaro

This kernel can be used on any JB CM BASED JB 4.1 or 4.2


Disclaimer

Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.. LOL I guess you knew it already.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, you getting dumped or you getting fired because your phone 
* bootloops and alarm does not go off. Please do some research if you have any  
* concerns about features included in my kernel before using it! YOU and only 
* YOU are choosing to make these modifications.
*/

#ifdef
You have a question post it in the thread,
Instead of Pm'ing me, as other users may
experience you problems
#endif



What Works --
Wifi - (flash modules)
Data
Everything Else that works on FXP

What doesn't work --
Anything that doesn't work on FXP

Whats Included in kernel ------------

 
Added Governors --

[LIST]brazillianwax
smartass
Smartassv2
Savagedzen
Smoothass
Scary
InteractiveX
Minmax
Userspace


Intellidemand - Thanks to faux123
This is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling,
and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such.
Intellidemand does not jump to highest frequency when screen is off.

Lazy - Thanks to Ezekeel
The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand.
Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state
on a step overriding sampling interval.
Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always
select the maximum frequency while the screen is off.

Lulzactive - Thanks to Tegrak
Based on Interactive and Smartass. When workload is greater than or equal to 60%, the governor scales up
CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step.
When screen is off, frequency is locked to global scaling minimum frequency

- Superbad
- a "superbad" super smooth rendition of a highly optimized "smartass" governor!

- Darkside
- a "slightly more agressive smart" optimized governor!

-Ondemandx:
Basically an ondemand with suspend/wake profiles. This governor is supposed to be a battery friendly ondemand. When screen is off, max frequency is capped at 500 mhz. Even though ondemand is the default governor in many kernel and is considered safe/stable, the support for ondemand/ondemandX depends on CPU capability to do fast frequency switching which are very low latency frequency transitions. I have read somewhere that the performance of ondemand/ondemandx were significantly varying for different i/o schedulers. This is not true for most of the other governors. I personally feel ondemand/ondemandx goes best with SIO I/O scheduler.

-Lionheart:
Is a conservative-based governor. The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.

To 'experience' Lionheart using conservative, try these tweaks:
sampling_rate:10000 or 20000 or 50000, whichever you feel is safer. (transition latency of the CPU is something below 10ms/10,000uS hence using 10,000 might not be safe).
up_threshold:60
down_threshold:30
freq_step:5
Lionheart goes well with deadline i/o scheduler. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand.

BadAss Governor:
Badass removes all of this "fast peaking" to the max frequency. Badass will also take the gpu load into consideration. If the gpu is moderately busy it will bypass the above check and clock the cpu with 1024Mhz. If the gpu is crushed under load, badass will lift the restrictions to the cpu.

-Virtuous
Virtuous is a modded smartassV2 which gives even more battery time then smartassV2

Added Io-scheduler --
VR io-scheduler - Unlike other schedulers, synchronous and asynchronous requests are not treated separately,
instead a deadline is imposed for fairness. The next request to be served is based on it's distance from last request.

- SIO - Simple IO-Scheduler-
SIO is the default scheduler in this kernel. It is widely-regarded as the best all-round performing IO scheduler for android. It is low on CPU usage and optimized for flash-based storage. From the creator - "Based on Noop, Deadline and V(R) IO schedulers. This algorithm does not do any kind of sorting, as it is aimed for aleatory access devices, but it does some basic merging. We try to keep minimum overhead to achieve low latencies. Asynchronous and synchronous requests are not treated separately, but we rely on deadlines to ensure fairness."

- BFQ - Budget Fair Queueing IO-Scheduler-

From Creators
Quote:
* Copyright (C) 2008 Fabio Checconi
* Paolo Valente
*
* Licensed under the GPL-2 as detailed in the accompanying COPYING.BFQ file.
*
* BFQ is a proportional share disk scheduling algorithm based on the
* slice-by-slice service scheme of CFQ. But BFQ assigns budgets,
* measured in number of sectors, to tasks instead of time slices.
* The disk is not granted to the active task for a given time slice,
* but until it has exahusted its assigned budget. This change from
* the time to the service domain allows BFQ to distribute the disk
* bandwidth among tasks as desired, without any distortion due to
* ZBR, workload fluctuations or other factors. BFQ uses an ad hoc
* internal scheduler, called B-WF2Q+, to schedule tasks according to
* their budgets. Thanks to this accurate scheduler, BFQ can afford
* to assign high budgets to disk-bound non-seeky tasks (to boost the
* throughput), and yet guarantee low latencies to interactive and
* soft real-time applications.



I would like to say a big thanks to -
FXP - Sources/help with wifi (thanks Jerpelea)
FXP / Cyanogenmod - Sources
besttt - testing
Sinkster
tempest918 - For the New Logo
DooMLoRD - for patches and all the work he has done for Xpeeria's
xeozus
NobodyAtAll
Faux123
Erasmus
Leedroid
Jerpelea
Phil3759
CTCaer
Anyone missing please PM me

Kernel sources -b jellybean
https://github.com/garwedgess/semc-kernel-msm7x30

CWM source -- https://github.com/garwedgess/android_bootable_recovery -b lupus-cwm
-wedgess
Forum Moderator


The Following 352 Users Say Thank You to wedgess For This Useful Post: [ Click to Expand ]
 
wedgess
Old
(Last edited by wedgess; 18th April 2013 at 11:42 PM.)
#2  
wedgess's Avatar
Forum Moderator / Recognized Developer - OP
Thanks Meter 13,457
Posts: 2,768
Join Date: Apr 2012
Location: Dublin, Ireland

 
DONATE TO ME

LuPuS MENU



You can run lupus menu from terminal or scriptmanager or similar, you must run as root or script will exit with a message

in terminal

Code:
su
lupus

* information is in lupus menu

1/ CIFS Menu *
  • Enable
    Disable

2/ zRam Menu *
  • Enable
    Disable
    Set zRam size ( default is 60)

3/ Frandom Menu *
  • Enable
    Disable

4/ USB OTG *
  • Enable
    Disable

6/ Clean and Remove tweaks
  • Remove init.d's

7/ Tweak Menu
Note all tweaks are preset from here and option to set as init.d's
  • Clean all temp files
    SQLITE optimizations
    LMK Optimizations
    Network optimizations
    Defend against ARP spoofing
    Remove android logger
    SDcard speed tweak
    Flag blocks as non-rotational

8/ Performance Menu
Note all options are se by user input from here and option to set as init.d's
  • Set CPU frequencies
    Set Governor
    Set IO-Scheduler
    Voltage Control
    VM tweaks (explained below)

VM Tweaks


dirty ratio and dirty background ratio 1 & 2
This controls how often the kernel writes data to "disk" (in our case the internal microSD system card, not the removable microSD card). When your apps write data to disk, Linux actually doesn't write the data out to the disk right away, it actually writes the stuff to system memory and the kernel handles when and how the data is actually going to be flushed to the disk. These values represent a percentage, the higher the percentage, the longer it waits to flush, the lower the percentage, the more often flushes will occur. Now remember, we are dealing with solid state storage, not the traditional disk platter and spindle. So we are actually able to delay flushes a little longer with solid state versus a traditional hard drive disk.


dirty_expire_centisecs
How old "dirty" data should be before the kernel considers it old enough to be written to disk. It is expressed in 100ths of a second.

dirty_writeback_centisecs

This is the interval of when the writeback daemons periodically wake up and write "old" data out to disk. It is expressed in 100ths of a second.

min free kbytes
This is used to force the Linux VM to keep a minimum number of kilobytes free. The VM uses this number to compute a pages_min value for each lowmem zone in the system. Each lowmem zone gets a number of reserved free pages based proportionally on its size. Default is 2048kb.

overcommit_memory
This controls overcommit of system memory, possibly allowing processes to allocate (but not use) more memory than is actually available.

0 - Heuristic overcommit handling. Obvious overcommits of address space are refused. Used for a typical system. It ensures a seriously wild allocation fails while allowing overcommit to reduce swap usage. root is allowed to allocate slighly more memory in this mode. This is the default.
1 - Always overcommit. Appropriate for some scientific applications.
2 - Don't overcommit. The total address space commit for the system is not permitted to exceed swap plus a configurable percentage (default is 50) of physical RAM. Depending on the percentage you use, in most situations this means a process will not be killed while attempting to use already-allocated memory but will receive errors on memory allocation as appropriate.

Swappiness
A property for the Linux kernel that changes the balance between swapping out runtime memory, as opposed to dropping pages from the system page cache. Swappiness can be set to values between 0 and 100 inclusive. A low value means the kernel will try to avoid swapping as much as possible where a higher value instead will make the kernel aggressively try to use swap space.

VFS Cache Pressure
File system cache (dentry/inode) is really more important than the block cache above in dirty ratio and dirty background ratio, so we really want the kernel to use up much more of the RAM for file system cache, this will increas the performance of the system without sacrificing performance at the application level. The default value is 100, as a percentage, and what you want to do is lower the value to tell the kernel to favor the file system cache and not drop them aggressively.
-wedgess
Forum Moderator


The Following 121 Users Say Thank You to wedgess For This Useful Post: [ Click to Expand ]
 
wedgess
Old
(Last edited by wedgess; 8th June 2013 at 12:11 PM.)
#3  
wedgess's Avatar
Forum Moderator / Recognized Developer - OP
Thanks Meter 13,457
Posts: 2,768
Join Date: Apr 2012
Location: Dublin, Ireland

 
DONATE TO ME

Changelog


Code:
 
v3 Changes
  • - New Governor Intellidemand2 Thanks @ CosmicDan - Couple of extra tweaks improvements to battery - Fixed Wifi - Reverted Cleancache - Reverted my disabling of disabling sched_feautures if you get that - Added USB OTG modules ( find attached zip at the end of the post----> NOTE Not a flashable zip) - Added stable OC tablefor higher OCing
V4 Changes
  • - Updated LZO - Added Cleancache - Small code fixes - Removed OC so phone doesnt boot at 2ghz for a split second causing boot problems (should now be fixed) - Updated to latest FXP changes - Optimizations for Linaro - USB OTG flashable zip
v5
  • - Completely scrapped previous sources and started fresh - Wifi problem fixed - Fixed Battery drain ( Tester lost 0.2% overnigh with wifi on ) :victory: - CWM fixed thanks @ Scritch007 - Built with Linaro 4.7 - Optimized for Linaro - Thumbee - Reverted to 1.6 max OC - Lzo patched - Use Google Snappy Compression / Decompression - Added TINY RCU - Uses uncompressed Image {why .img size is bigger) - Custom improvements for overall smoother performance v6 - built with latest linaro 4.7.3 (02-01-2013) - Thanks @ ChainFirex - Added memcopy - Added compaction - Lowered vfs_cache_pressure - LMK (lowmemorykiller) optimizations - Improved CIFS support - Enabled USB tether - Disabled gentle_fair_sleepers - Updated video drivers - Clean up on wifi config - Back-ported binder changes - TWRP recovery - thanks @ championswimmer & TWRP team - Thanks @ Wechy77 for customizing TWRP v7 - Built with Linaro 4.7.3 (02-01-2013) - Free'd RAM (disabled 720p) now 381mb - Thanks at Paul678 - Makefile optimisations (snapdragon & neon) - Thanks at Paul678 - Tweaked permormance on interactive governor - Thanks at Paul678 - Tweaked SIO io sched - Thanks at Paul678 - Free'd some RAM from loggers - Reduce swappiness - Fix PageHead - Fix binder. use of uninitialized variable. - Fix kernel/net Memory Leaks - Eliminate kstrdup memory leak - ipv4: force_igmp_version ignored when a IGMPv3 query received - Fix Entropy Depleting (no more depleting) - Thanks @ Kees Cook - enable ipsec tunnel support in kernel (Latest FXP Change) - ARM7 optimsations + more in config - TWRP v2.4 - Thanks @ Championswimmer, TWRP Team and Wechy 77 for parts of his LuPuS theme - New zRam Enabler thats compatible with TWRP
v8 - Supports both 4.1 & 4.2 JB - New IIO Scheduler ZEN thanks @bbedward - New Governor smartassH3 thanks @Hero - Tweaked Deadline IO scheduler - Tweaked smartassv2 - Frandom - SFB Net scheduler - OC up to 1804.8MHz - Logger backported from CAF - Free RAM from logger - LMK updated and optimized + various LMK tweaks - Various ARM & RAM changes - TinyRCU optimizations - Optimized crc32 lib - various VM changes - Improved cleancache - Undervolt LCD display, touch sensor proximity sensor & Wi-Fi thanks @ M66B - Entropy tweaks - Try fix for CRT animation @paul678 - TWRP & CWM - LuPuS Menu - Auto Loading wifi - All modules and init.d's included No need to flash anything after kernel Plus alot more changes see for full list of credits and patches used v9 - Latest changes to ALS and Button Backlight -- Thanks @ FXP - Lowered OC to 1612.8Mhz - Remove ALS and Button Backlight option from LuPuS Menu (no longer needed) - Random reboots should be fixed ( for those who where having such issues ) v10 - Fixed 3D from hanging under high intensity - Fix pmem for HDPI mike NG (no more reboots??) - CWM Recovery = VOLUME DOWN - TWRP Recovery = VOLUME UP - Clean up on LuPuS Menu - Better wifi check - KEY RESET ( Menu and POWER) - Tuned Smartassv2 and SmartassH3 @M66B Thanks @ gu5t3r v11 - Fixed reboot to recovery ---- Custom CWM - Clean-up of menu - Added own wipe options menu -- with extra options - Aroma File Manager from CWM --- Must have aroma (aromafm.zip) placed on root of sdcard) - Multi zip installer - Reboot options - Power off re-added under this menu - Pointless but people keep asking me for it so re-added wipe battery stats also. - LuPuS themed... - Fixed "dancing android"
v12 - Added option to enable Quick Key Reset (enable / disable via LuPuS Menu) - Tuned Governors * superbad * lionheart * virtuous * darkside * conservative * smartassH3 - Really use google snappy zRam (improves zRam) - Removed persistent RAM - Added zCache - Removed some more kernel debugging - uninterruptible sleep - Update SIO & CFQ - Added Ultra-KSM - Removed optimized AES & SHA1 routines - Updated TWRP to 2.4.4 *Fixed Mount USB Storage in TWRP - Updated CWM to latest Official CWM source *Removed reboot options *Re-added power off and reboot system now to main menu - Improved wifi-loading scripts - Clean up of lupus menu - Fixed root issue on some devices - Reworked kernel logs (can be found in /data/local/tmp) - Boot.d - If phone is taking a long time to start move suspicious init.d scripts to /system/etc/boot.d They will be run in background and won't affect boot time.


Downloads


If you like my work please consider buying me a beer or something else
by clicking the DONATE ME button, of course it isn't needed but greatly appreciated and keeps me motivated.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
LuPuS-ARC&S-JBv11 Downloads

480p
LuPuS_anzu_jBv12-ram.img
md5 = 7f969fffdf9cc994a6cacd1e86126e0a

720p
LuPuS_anzu_jBv12.1-full.img
md5 = 82ac86e630532e7e318070abe58dceb3


Mirrors -- all LuPuS Kernels can be found here
www.goo.im/devs/wedgess

Wifi is built in to kernels ramdisk NO MODULES NEEDED


DO NOT MIRROR MY DOWNLOADS


- zRam is not enabled by default unless on CM10 ROM, for AOKP to enable it flash the wedgess-zram-enabler.zip in CWM
- If for whatever reason you want to disable Zram after you have flashed the .zip, just go to ect/init.d and delete 00zram



People will ask so i'll just post it here---------to check if zRam is enabled go to terminal emulator or similar and type

Code:
free
or alternatively

Code:
cat /proc/swaps

Please Click Thanks
Attached Files
File Type: zip wedgess_Zram-Enabler_05-02-13.zip - [Click for QR Code] (120.9 KB, 3313 views)
-wedgess
Forum Moderator


The Following 208 Users Say Thank You to wedgess For This Useful Post: [ Click to Expand ]
 
sinholueiro
Old
#4  
sinholueiro's Avatar
Senior Member
Thanks Meter 20
Posts: 112
Join Date: Sep 2010
Location: Dean
Hell yeah!! The best kernel, with difference.

Downloading and flashing...
The Following 4 Users Say Thank You to sinholueiro For This Useful Post: [ Click to Expand ]
 
dr,abd
Old
#5  
Senior Member
Thanks Meter 242
Posts: 101
Join Date: Apr 2012
Location: china Jilin Changchun
Hell yeah!!
great news thanx
big boss
Xperia S
ROM : -
KERNEL:
BB: 77

"THANKS" IT'S ONLY A BUTTON! IF I HELPED PLEASE PRESS IT
The Following 6 Users Say Thank You to dr,abd For This Useful Post: [ Click to Expand ]
 
p47r0n
Old
#6  
p47r0n's Avatar
Member
Thanks Meter 40
Posts: 40
Join Date: Dec 2011
Wifi doesn't work, even if you flash the fix.
The Following 3 Users Say Thank You to p47r0n For This Useful Post: [ Click to Expand ]
 
cattz86
Old
#7  
cattz86's Avatar
Senior Member
Thanks Meter 17
Posts: 135
Join Date: Mar 2011
Location: seremban
Can i use fxp137 modules

Sent from my Arc S using xda premium
The Following User Says Thank You to cattz86 For This Useful Post: [ Click to Expand ]
 
l_ung
Old
#8  
Member
Thanks Meter 2
Posts: 44
Join Date: Apr 2011
Quote:
Originally Posted by p47r0n View Post
Wifi doesn't work, even if you flash the fix.
but my wifi is working fine, thanks!
 
kaatisu84
Old
#9  
kaatisu84's Avatar
Senior Member
Thanks Meter 62
Posts: 341
Join Date: Dec 2010
Location: Tokyo
looking forward to trying this when I get home, looks promising, finally for CM10!!!
Phone: Xperia Arc
Rom: Xperia Ultimate HD™ 2.0.3

イギリス人です!
 
caqo71
Old
#10  
caqo71's Avatar
Senior Member
Thanks Meter 224
Posts: 803
Join Date: Apr 2011
Location: Santiago
A lupus Kernel for CM10 Arc???. I'm about to donate

Just as an advice... If you develop an arc kernel for GingerBread (even CM 7.2), I'll donate again.

So much thanks for you.

Sent from my Xperia Z1 C6903 underwater.

The Following User Says Thank You to caqo71 For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes