[E610/E612][Kernel 3.4.108][STABLE][4.4.x/5.1.x][UBERTC 5.2]LukoSius Kernel r16.1 - Optimus L3, L5, L7 Original Android Development

"LukoSius Kernel"(LK) is Custom Kernel for CM/AOSP Based Roms!​
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. 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 further. This way the entire community will truly benefit from the spirit of open source. Thank you !
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
THIS KERNEL is BASED ON TeamHackLG Source Code. So it is COMPATIBLE WITH ALL Kitkat/Lollipop Builds.
Kernel Features:
Based on 3.4.108kernel version
block updated to r7v7
Built with powerful 5.2 ubertc 2015-10-01
Google Snappy Algorithm
Optimized build flags
Added /dev/frandom support
Updated random
More governor
Full lollipop support
Allowed forced fast charge! hack.
Disable Gentle Fair Sleepers
Optimized SLUB memory allocator
Smooth optizimation
Optimized Parameters from L Speed
Dynamic FSYNC
Improve 3x faster integer sqrt.
CK3 tweaks
zCache
fixed few leaks
BLN (BackLight Notification) support
Async support
Disabled Gentle Fair Sleepers
Optimized ARM RWSEM algorithm
fs/dyn_sync control
updated ion
Compiled with -O2 flags and hardware neon-vfpv4 FPU enabled.
File systems support: Ext2/3/4, FAT32, CIFS, USB OTG.
Support F2FS filesystem!
Support EXFAT filesystem!
and lots off more just check github...
Downloads:
Click here!
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"
3.*Or use any other method to get into recovery.
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...
INFO FOR USER!!! READ ME FIRST:
*About force fast charge. not all devices/models support that HACK.
If it's NOT WORKING FOR YOU. no need to complain. it's HACK. not LG feature.
Change logs:
r1:
Code:
complete rebuild from lean kernel
r2:
Code:
*fixed wifi
*added bln
*and other stuff check github
r3:
Code:
*Merged fixes to WIFI driver.
*merged fixes for BLN .
*Merged updates to PM configs from aurora.
*Major code cleanup for msm cpufreq driver and cpu code. works great and in sync with android 5.1.
*Merged updates to USB driver.
*Merged updates to MMC driver.
*using kernel mode neon.
*Compiled and used new UBERTC 4.9 kernel build Toolchain! very advanced and powerful tool.
*Removed logs from camera when it's active. no one care..
*Updated Kernel MSM HotPlug.
*Enabled auto grouping of system tasks. to boost performance.
*Merged NET fixes from aurora.
*fixed frandom support.
*merged Always set noatime no diratime on all partitions
*using msm_ion instead of ion.
*Set 1024 kbytes as Max Readahead.
*merged stuff needed for Lp ril.
*tuned swapness.
*enabled Optimized ARM RWSEM algorithm.
*Merged update to netfilter code.
*merged some fixes for audio.
*Improved handling for bad sd cards.
*removed logs that I don't need.
*merged updates to cpufreq, mm, block and etc.
*merged Dynamic File Sync .
*Merged Fixes for msm_fb
* tuned smartassH3 awake freq.
*and other good stuff check github.
r4:
Code:
*Merged samsung patch to: WIFI, TIME, BT, AUDIT, USB, NET
*Merged more Selinux and NET updates from aurora 3.7.y kernel.
*Removed some logs
*support for e612/p700/p705
r5:
Code:
Revert "debug: remove: mach-msm remove smd debugging"
c9cea08 Revert "msm: mdp.c fix deadlock which causes blue screen"
7165693 Revert "cpufreq: Add cpu-boost driver"
78758c4 Revert "cpufreq: Add a sync limit to cpu-boost"
e6ddad9 Revert "cpufreq: Add Input Boost feature to the cpu-boost driver"
6b29ad7 Revert "cpufreq: Disable cpu-boost by default"
5ce0d31 update defconfigs
248c037 USB On-The-Go (OTG) Support!
a6ad7f2 clean up
2879757 mmc: core: Sorry change log is 5000+ commits so its nonsense to post it here
commits are:
3.4.5 --> 3.4.108enable eMMC5.0 card detection
6e1bbc9 block: row: Fix crash when adding a new field in bio struct
92681f0 mmc: core: invoke low power mode if card is not present
3c72844 mmc: core: enhance card removal judgement for slow removal
a474d8a net: wireless: Increase scan entry expiration to fit new scan time
b889d25 msm_fb: Fix RGB pipe offset issue
8bb49ec msm: mdp.c fix deadlock which causes blue screen
f4469e6 msm_fb: Enable MDP4 IGC LUT
8e27684 msm_fb: Fix GC & IGC LUT
b7e9f43 f2fs: Sync F2FS to Jaegeuk's linux-3.4 branch
ac69274 fs: f2fs: Initial import from https://kernel.googlesource.com
67dc2dd rwsem-spinlock: Implement writer lock-stealing for better scalability
55c11ba random: remove warning
0a2b123 random: prevent add_input from doing anything
2049b94 kernel: alarm: :fix the BUG that device automatically powers on
a068e3c staging: android: lowmemorykiller: Change default debug_level to 1
8844dd9 Input: Send events one packet at a time
6000a46 cpufreq: ondemand: Fix kernel warning in cpufreq_governor_dbs
675084f switch do_fsync() to fget_light()
56a90b4 dynamic fsync: favor true case since most will be using this feature
cc43be2 Bluetooth: Replace sprintf with snprintf
6f47a20 ARM: 7809/1: perf: fix event validation for software group leaders It is
087e073 sock_diag: Fix out-of-bounds access to sock_diag_handlers[]
cd2d80e SELinux: Reduce overhead of mls_level_isvalid() function call
af74f82 Staging: zram: Fix memory leak by refcount mismatch
ede832d Staging: zram: Fix access of NULL pointer
e066a76 module: fix out-by-one error in kallsyms
7dbe01c module: taint kernel when lve module is loaded
572d600 hashtable: introduce a small and naive hashtable
23855c2 block: recursive merge requests
9210752 block,elevator: use new hashtable implementation
d579062 msm: Allow lowmem to be non contiguous and mixed.
1b5c927 swap: allow swap readahead to be merged
f7ae10d fs/dcache.c: adaptive vfs_cache_pressure on suspend / resume
6f2a4ca cpufreq: Disable cpu-boost by default
1be3111 cpufreq: Add Input Boost feature to the cpu-boost driver
83afdf7 cpufreq: Add a sync limit to cpu-boost
823d83c cpufreq: Add cpu-boost driver
c8d0de6 debug: remove: arm unwind: remove logspam while in debug mode
ad356fc debug: remove: remove some dmesg logspam from Linux mainline 3.4 fs
02dd1cf debug: remove: tty makefile remove smux_debug
2453087 debug: remove: mach-msm remove smd debugging
r6:
Code:
Revert "touchscreen: Bring in DoubleTap2Wake
b271c93 touchscreen: Bring in DoubleTap2Wake
9afeac1 makefile fixes
61d4f6d include: Add support for GCC 5.0 and 6.0
7304fbc kernel: add support for gcc 5
f71924c block: Reserve only one queue tag for sync IO if only 3 tags are availab
9a6a8bc mmc/core: disable crc to improve performance
ab968dc fs: Add exFat support version 1.2.9 (kitkat source drop)
578da25 fs: Add exFat support version 1.2.7 (Samsung OSRC)
0fd613a logger: Add sys fs kernel interface to configure Android logger
1807fb3 printk: Add sys kernel interface to configure linux printk logging
dec9c78 Update setlocalversion
6fab90d build: Fix some warnings with GCC 4.9
418613c Fix gcc-4.9.0 miscompilation of load_balance() in scheduler
b1a4066 sched: Fix memory leakage in build_sched_groups()
c09db71 fs/namei.c: fix potential memory leak in path_lookupat
f8f64cc Bluetooth: fix possible info leak in bt_sock_recvmsg()
9cea22c mm: frontswap: add frontswap header file
c744db9 ext4: prevent kernel panic in case of uninitialized jinode
044b162 add optimisation
r7:
Code:
[M4] defconfigs Set selinux permissive
496e7ba selinux: Report permissive mode in avc: denied messages.
d10bf86 Revert "Input: Send events one packet at a time"
459e698 Revert "Revert "Revert "LZ4 Compressor module"""
97fd873 Revert "Revert "Revert "enable lz4"""
332b613 Revert "add changelog"
r8:
Code:
e95b886 intelliactive: rework input register/unregister
0f2ac0a intelliactive: make touch boost interface generic
fbe9004 intelliactive: add upstream patches
d3fc952 Revert "net: ipv6: allow choosing optimistic addresses with use_optid3fc952 Revert "net: ipv6: allow choosing optimistic addresses with use_opti
mistic"
7ee2a4f regulator: add notifier event for regulator enable
a70117e pstore: selinux: add security in-core xattr support for pstore and debugfs
094bf8c netfilter: IDLETIMER: fix invalid deference of timer
13d89a7 net: ipv6: allow choosing optimistic addresses with use_optimistic
57fb721 HID: input: generic hidinput_input_event handler
58aca06 mm: fix prctl_set_vma_anon_name
5010091 staging: android: ashmem: add missing include
69a3425 mnt: Prevent pivot_root from creating a loop in the mount tree
551e17e mnt: Only change user settable mount flags in remount
9208f57 netfilter: conntrack: disable generic tracking for known protocols
7aec8e1 net: llc: use correct size for sysctl timeout entries
edefed8 ipv4: Missing sk_nulls_node_init() in ping_unhash().
ac6eb20 update defconfigs
87497aa Simple IO scheduler plus
fb6c5d3 Zen IO scheduler
41da2eb IntelliActive Governor
r9:
Code:
suspend: Return error when pending wakeup source is found.
subsystem: CPU FREQUENCY DRIVERS- Set cpu_load calculation on current frequency
msm: vidc: cache-flush encoder output buffers after alloc
msm: vidc: Fix res_trk_get_mem_type when vidc is not using ION memory
video: msm: Configure blend before DMA for LCDC panel too
video: msm: Clear previous histogram data on next startup
video: msm: Check for null in LCDC IRQ handler
video: msm: Tone down logging
Revert "Revert "[M4] defconfigs Set selinux permissive""
Revert "cpufreq: Add bacon governor"
Revert "enable bacon gov"
Revert "SELinux: Fix kernel BUG on empty security contexts."
selinux: fix inode security list corruption
SELinux: include definition of new capabilities
Add google snappy
SELinux: Fix kernel BUG on empty security contexts.
netlink: fix possible spoofing from non-root processes
msm: msm_watchdog_v2: Increase watchdog bark timeout during panic
fix false disconnect due to a signal sent to the reading process
kernel: Allow exfat module load without hassle
mdss: Notify userspace of changes to blank status
enable bacon gov
cpufreq: Add bacon governor
r10:
Code:
4631b21 can: dev: fix crtlmode_supported check
ba5a19c ftrace/jprobes/x86: Fix conflict between jprobes and function graph trac
4ce4899 gpio: fix memory and reference leaks in gpiochip_add error path
8f8dab3 mm: fix corner case in anon_vma endless growing prevention
833e188 mm: Don't count the stack guard page towards RLIMIT_STACK
25fb31a USB: console: fix potential use after free
9d01c86 gpio: sysfs: fix gpio attribute-creation race
9a7b6a0 gpio: sysfs: fix gpio device-attribute leak
6a94774 gpiolib: Refactor gpio_export
12b86b8 gpio: sysfs: fix gpio-chip device-attribute leak
0bb91f0 driver core: Introduce device_create_groups
dca27e8 sysfs.h: add ATTRIBUTE_GROUPS() macro
84f6fd9 scripts/recordmcount.pl: There is no -m32 gcc option on Super-H anymore
036c126 regulator: core: fix race condition in regulator_put()
de4e829 nl80211: fix per-station group key get/del and memory leak
890cdf8 net: sctp: fix slab corruption from use after free on INIT collisions
d7e482c ipv6: replacing a rt6_info needs to purge possible propagated rt6_infos
a516aa3 vm: add VM_FAULT_SIGSEGV handling support
a962e27 vm: make stack guard page errors return VM_FAULT_SIGSEGV rather than SIG
4739d0f net: sctp: fix panic on duplicate ASCONF chunks
7dc4ea1 net: sctp: fix skb_over_panic when receiving malformed ASCONF chunks
4e9e0bb gpio: sysfs: fix memory leak in gpiod_export_link
004662f gpio: sysfs: fix memory leak in gpiod_sysfs_set_active_low
0aa2926 net: sctp: fix passing wrong parameter header to param_type2af in sctp_p
0efea9a net: sctp: fix NULL pointer dereference in af->from_addr_param on malfor
8b6c256 ipvs: rerouting to local clients is not needed anymore
df3ff4c VFS: Make more complete truncate operation available to CacheFiles
0a5162e SELinux: use deletion-safe iterator to free list
e79c4a2 SELinux: per-command whitelisting of ioctls
18542a6 security: lsm_audit: add ioctl specific auditing
34004e0 SELinux: Update policy version to support constraints info
f70e327 SELinux: add default_type statements
ce5b815 SELinux: allow default source/target selectors for user/role/range
39fd776 selinux/nlmsg: add XFRM_MSG_MIGRATE
9cf9161 selinux/nlmsg: add XFRM_MSG_REPORT
ce5b815 SELinux: allow default source/target selectors for user/role/range
39fd776 selinux/nlmsg: add XFRM_MSG_MIGRATE
9cf9161 selinux/nlmsg: add XFRM_MSG_REPORT
9171c8b selinux/nlmsg: add XFRM_MSG_[NEW|GET]SADINFO
e67f864 selinux/nlmsg: add XFRM_MSG_GETSPDINFO
1c99172 selinux/nlmsg: add XFRM_MSG_NEWSPDINFO
d11fc4b gpu: ion: Modify ION_NUM_HEAPS to reflect actual max
43b373e ARM: 7493/1: use generic unaligned.h
6d1a336 msm: display: Allow MDP clocks to use Max clock.
2c6ca73 Revert "kcal"
ec81c1d kcal
ac85522 USB: android: Fix memory leak in mass_storage_function_init()
620fe85 selinux: add SOCK_DIAG_BY_FAMILY to the list of netlink message types
7e0d390 Bluetooth: Fix invalid length check in l2cap_information_rsp()
755946f Bluetooth: Fix missing length checks for L2CAP signalling PDUs
fab89f3 Bluetooth: Fix crash in l2cap_build_cmd() with small MTU
10ec71b Bluetooth: Cancel power_on and power_off work
67477fa Bluetooth: Prevent Bluetooth L2CAP Remote Heap Memory Corruption
463a799 sched: Implement smarter wake-affine logic
9ec13bc Bluetooth: ath3k: workaround the compatibility issue with xHCI controlle
4ad5428 Bluetooth: Fix issue with USB suspend in btusb driver
c28a522 Bluetooth: Add support for Mediatek Bluetooth device [0e8d:763f]
345136e Bluetooth: Add support for Sony Vaio T-Series
709760f Bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03C
307e256 Bluetooth: Add support for Dell[QCA 0cf3:0036]
5fecbd7 Bluetooth: Add support for Apple vendor-specific devices
8ff83f3 Audit: Disable Audit
a33dec4 staging: android: logger: Improve logging
30296ad staging: android: logger: fixed checkpatch.pl warnings.
143d29a 0u support
r11:
Code:
Sorry change log don"t fit into tread
http://pastebin.com/Jm5a1hmg
r12:
Code:
Sorry change log is 5000+ commits so its nonsense to post it here
commits are:
3.4.5 --> 3.4.108
r13:
Code:
Lots of stability fixes and reverted back to 3.4.104 with aditional changes
r14:
Code:
built with Linaro GCC 4.9 Toolchain for generic Cortex-A cpu
updates and clean ups
Update build.sh
colorize more and fix output
fix build
add myself
clean up
edit zip output and improve script
new cpu check
Colorize and add text parameters
Revert "update build script"
m4 defconfig:enable zCache
arch/arm/mach-msm/Kconfig: decouple QCACHE from MSM board selection
zcache-main.c: fix compilation error due to API update
staging: zcache: fix cleancache race condition with shrinker
staging: zcache: fix spelling of comment
staging: zcache: cleanup the code between tmem_obj_init and tmem_obj_find
staging: zcache: introduce get_zcache_client
staging: zcache: cleanup zcache_do_preload and zcache_put_page
staging: zcache: optimize zcache_do_preload
staging: zcache: cleanup zbud_init
staging: zcache: mark zbud_init/zcache_comp_init as __init
staging: zcache: remove unnecessary config option dependence
staging: zcache: fix a compile warning
staging: zcache: fix refcount leak
staging: zcache: don't limit number of pools per client
update build script
r15:
Code:
reverted to 3.4.0 for stability
c54ecef Revert "kgsl: disable tracing and postmortem Dont DUMP in my House!"
0196a10 softirq: reduce latencies
45996f2 net: loopback: set default mtu to 64K
741ec2c jbd2: optimize jbd2_journal_force_commit
c6255f5 readahead: make context readahead more conservative
4f1f30c ARM: smp: Wait just 1 second for other CPU to halt
0fc3e9d ext4: fix memory leak in xattr
0fc3e9d ext4: fix memory leak in xattr
a473645 msm: kgsl: Fix mem leak when page allocation fails
df28d42 kgsl: disable tracing and postmortem Dont DUMP in my House!
cc51887 kgsl: z180 - disable tracing and postmortem
b18fa80 remove empty folder
42f54ca m4/u0 update defconfigs
fb66b3a block: Add bio_for_each_segment_all()
dbb2266 sysctl: tweak ip enum
972ef40 audit: wait_for_auditd() should use TASK_UNINTERRUPTIBLE
69e7c92 audit: fix info leak in AUDIT_GET requests
da09846 audit: use nlmsg_len() to get message payload length
96a7c4b audit: printk USER_AVC messages when audit isn't enabled
d56fa7a eCryptfs: Remove buggy and unnecessary write in file name decode routine
f76a0ce Revert "KGSL: Add a simple GPU governor for Adreno xxx GPU series"
8472223 Revert "workqueue: don't use WQ_HIGHPRI for unbound workqueues"
0fd6db0 The Ultra Kernel Samepage Merging feature Ultra KSM. Copyright (C) 2011-2012 Nai Xia
241dc20 KGSL: Add a simple GPU governor for Adreno xxx GPU series
6c2f680 workqueue: don't use WQ_HIGHPRI for unbound workqueues
r16:
Code:
Built with powerful 5.2 ubertc 2015-10-01
620122f up for v16
1fce2b7 tweak values 2
82efe04 tweak values
be1c752 add graphite flags
c1a4b23 remove l7
438e557 lowered latency
3cff57e init: scream bloody murder if interrupts are enabled too early
a4a0e59 security: SELinux: Disable useless message
9fd7195 Revert "disable lge panic handling (demigod)"
7648cf0 disable lge panic handling (demigod)
b3cb7d4 Merge pull request #2 from aidasaidas75/cm-12.1-exp
c54ecef Revert "kgsl: disable tracing and postmortem Dont DUMP in my House!"
r16.1:
Code:
3.4.0>>3.4.108
BUGS:
None at the moment
Post reports, i will fix.
Standard disclaimer:
By installing this kernel YOU will take full responsibility for any damage to your device!
Hardware or software! no one forcing you to install it.
So please do not blame me if you read wrong! or didn't read at all the instructions that i have written for YOU.
But you can feel SAFE to use it, as 2-3 testers test every release on their phone!
Before I publish it for download.
SOURCE CODE
Click here!
Special thanks to:
TeamHackLG(PecanCM) - For good base kernel.
Jobloxx for kernel logo.
If you find this Kernel useful, feel free to hit the [Thanks] button below

Excellent kernel good work !

For what android?
Sent from my e-tab4 using XDA Free mobile app

fbli_41 said:
For what android?
Sent from my e-tab4 using XDA Free mobile app
Click to expand...
Click to collapse
5.0 and 4.4

domenicogalati45 said:
5.0 and 4.4
Click to expand...
Click to collapse
Deleted.
Thanks anyway...

aidasaidas75 said:
leanKernel is not for everyone.
Click to expand...
Click to collapse
Convince me to move me to this kernel and leave skernel

Any e612 build ? (for deep sleep)

Works on e612?

i think it will work,but it can have problems with deepsleep,not sure.anyway its a great work.

Bully! It looks like skernel has got a serious competition

junephel said:
Bully! It looks like skernel has got a serious competition
Click to expand...
Click to collapse
This is using SKernel sources xD
Lets watch!
Come soon @skyinfo!
4Freedom said:
Convince me to move me to this kernel and leave skernel
Click to expand...
Click to collapse
I'd stick to SKernel
Sent from my IdeaTab A2107A-F using XDA Free mobile app

is it better than skernel? what about screen freezes?
Sent from my LG-E610 using XDA Free mobile app

droidxx9 said:
This is using SKernel sources xD
Lets watch!
Come soon @skyinfo!
I'd stick to SKernel
Sent from my IdeaTab A2107A-F using XDA Free mobile app
Click to expand...
Click to collapse
Well for now, I'll stick around with skernel since it is more optimized and stabilized with the ROM I am using now.
Moreover, the one with BLN and tap2unlock support is far more convincing. And I'll definitely stick to the one whichever adds it.

junephel said:
Well for now, I'll stick around with skernel since it is more optimized and stabilized with the ROM I am using now.
Moreover, the one with BLN and tap2unlock support is far more convincing. And I'll definitely stick to the one whichever adds it.
Click to expand...
Click to collapse
actually mine is more optimized but nvm.. maybe you mean doubletap2wake?

new version is out check op

Can't wait to try this on CarbonROM, but preparing for ice storm.

aidasaidas75 said:
actually mine is more optimized but nvm.. maybe you mean doubletap2wake?
Click to expand...
Click to collapse
No. I do mean tap2unlock. http://forum.xda-developers.com/showthread.php?t=2965344
Is it possible for you to add this patch bro? that'd be awesome.

Double tap to wake would be interesting as well @aidasaidas75 is it possible? And, can u update Carbon ROM? Its awesome but outdated..
Sent from my IdeaTab A2107A-F using XDA Free mobile app

Want to install but no E612 version
---------- Post added at 02:48 PM ---------- Previous post was at 02:45 PM ----------
Pico has BLN support
http://forum.xda-developers.com/showthread.php?p=52754606

Hi I tried this kernel, it's good!
Will report after observing for more time..
Possible BLN and Tap2Wake?
Sent from my IdeaTab A2107A-F using XDA Free mobile app

Related

[24 SEP 2012][DEV] HWA Kernel For HD2

HWA Kernel for HD2​
My kernel is based on Tytyung's r2.5 base
and mix the KGSL driver from Code Aurora
This is a DEV thread. the latest code may cause some problems.
HTC HD2 is still the KING!!!!
My GIT Repository​
Notes:
1. this kernel can't be used in CM7 ROM
2. the current(before 27 Apr 2012) existing android4.0 ROMs can not directly use this kernel, becasue they are not using the correct libs to match the latest KGSL driver.
Update: 4 MAY 2012
Rick_1995 back port all the KGSL , MDP from 2.6.38 to tytung's 2.6.32 and the latest build can be found here: link
Update: 13 MAY 2012
Rick_1995 and tytung made some more progress : link
Update: 19 JUN 2012
Memory tweaks : link
msm: kgsl: Add support for the preamble context flag link
Update: 21 JUN 2012
backport the following items from the latest KGSL driver: link
msm: kgsl: let postmortem dump find context switch IBs
msm: kgsl: fix size checking in adreno_find_region
msm: kgsl: Set default value of wait_timeout in the adreno_dev struct
msm: kgsl: Make sure WPTR reg is updated properly
msm: kgsl: fix error handling in adreno_waittimestamp()
msm: kgsl: let postmortem dump find context switch IBs
22 JUN 2012 update link
msm: kgsl: remove readl/writel use for dma memory
msm: kgsl: convert sg allocation to vmalloc
msm: kgsl: Allocate physical pages instead of using vmalloc
msm: kgsl: make cffdump work with the MMU enabled
msm: kgsl: Add ION as an external memory source
msm: kgsl: Fixup per-process memory statistics
msm: kgsl: Make sure kmemleak tool does not report incorrect mem leak.
msm: kgsl: Add a new property to IOCTL_KGSL_DEVICE_GETPROPERTY
msm: kgsl: Poke regularly in adreno_idle
msm: kgsl: increase valid timestamp range
msm: kgsl: flush outer cache for alloc_page() pages
msm: kgsl: Add a constant for adreno_ringbuffer_issuecmds flags
Important Tips : don't turn on the Settings->Developer options-> Force GPU rendering
Turn on this option will cause problem.
23 JUN 2012 update link
change back the pmem size to 32MB adsp_pmem to 41MB this is the default configuration, It seems resolved the crash problem with DesireC GPU libs.
In this version I have already include the DesireC gpu libs in the zip file.
With the new GPU libs the Chrome Browser is very smooth, the hardware H.264 decoder is working.
25 JUN 2012 update
need more people to do the new GPU libs test link
25 JULY 2012 update link
1. ignore the version check in Qdsp6 Vdec which can prevent some crash when the vdec being used.
2. msm: kgsl: Write the retired timestamp on resume
3. msm: kgsl: handle larger instruction store for adreno225
4. msm: kgsl: Add support for the A3XX family of GPUs
5. reduced the PMEM_ADSP size as the HW decoder still can't work on HD2 (now we have 420MB memory for userspace)
6. msm: kgsl: Update the GMEM and istore size for A320
7. msm: kgsl: return correct error code for unknown ioctls
8. msm: kgsl: handle all indirect buffer types in postmortem
9. msm: kgsl: Detach memory objects from a process ahead of destroy time
10. msm: kgsl: Find a mem_entry by way of a GPU address and a pagetable base
11. msm: kgsl: Cleanup header file macros
12. msm: kgsl: Add GMEM size configuration in gpu list
13. msm: kgsl: don't clear gpuaddr when unmapping global mappings
14. msm: kgsl: Do not dereference pointer before checking against NULL
add new GPU libs
31 JULY 2012 link
ics & jellybean HWA kernel updates
1. msm: kgsl: Change name of vmalloc allocator
2. msm: kgsl: Map a guard page on the back of GPU MMU regions
3. msm: kgsl: Optimize page_alloc allocations
4.msm: kgsl: Add markers to identify IB sequence start and end
5.msm: kgsl: rework ib checking
jellybean
1. include: checkout msm_mdp from ics_chocolate
6 AUG 2012 link
JellyBean Kernel
1. msm: kgsl: Add per context timestamp
2. net: netfilter: enable bandwidth control (data limit)
3. update base to tytung r3.3
7 AUG 2012 link
Jellybean Kernel
1.base: genlock: Remove genlock_release_lock and associated ioctl
2.base: genlock: allow synchronization with a single gralloc handle
3.base: genlock: remove BIT macro usage
7 AUG 2012 link
Jellybean Kernel
1. Fixed data limit
15 AUG 2012 link
ics
base: genlock: Remove genlock_release_lock and associated ioctl
base: genlock: allow synchronization with a single gralloc handle
base: genlock: remove BIT macro usage
ics & jellybean
Staging: android: binder: Don't call dump_stack in binder_vma_open
Staging: android: binder: Fix crashes when sharing a binder file between processes
drivers:staging:android Typos: fix some comments that have typos in them.
fs: Remove missed ->fds_bits from cessation use of fd_set structs internally
Staging:android: Change type for binder_debug_no_lock switch to bool
Staging: android: binder: Fix use-after-free bug
staging: android: lowmemorykiller: sysfs node and notifications
android, lowmemorykiller: remove task handoff notifier
staging: android: lowmemorykiller: Fix task_struct leak
staging: android/lowmemorykiller: Don't unregister notifier from atomic context
staging: android, lowmemorykiller: convert to use oom_score_adj
staging: android/lowmemorykiller: Do not kill kernel threads
staging: android/lowmemorykiller: No need for task->signal check
staging: android/lowmemorykiller: Better mm handling
staging: android/lowmemorykiller: Don't grab tasklist_lock
staging: android: lowmemorykiller: Don't wait more than one second for a process to die
Staging: android: fixed 80 characters warnings in lowmemorykiller.c
staging: android: lowmemorykiller: Ignore shmem pages in page-cache
staging: android: lowmemorykiller: Remove bitrotted codepath
staging: android: lowmemkiller: Substantially reduce overhead during reclaim
staging: android: lowmemorykiller: Don't try to kill the same pid over and over
android: logger: Allow a UID to read it's own log entries
staging: logger: hold mutex while removing reader
staging: android: logger: clarify non-update of w_off in do_write_log_from_user
staging: android: logger: clarify code in clock_interval
staging: android: logger: reorder prepare_to_wait and mutex_lock
staging: android: logger: simplify and optimize get_entry_len
staging: android: logger: Change logger_offset() from macro to function
Staging: android: fixed white spaces coding style issue in logger.c
android: logger: bump up the logger buffer sizes
pmem: Check for valid virtual address while flushing
pmem: Correctly account for aligned blocks
pmem_adsp (user-space) as non-cached
pmem_venc (user-space) as non-cached
change MSM_NAND_DMA_BUFFER_SIZE to SZ_1M
23 AUG 2012 link
ics & jellybean
ksm: remove unswappable max_kernel_pages …
ksm: fix bad user data when swapping
thp: ksm: free swap when swapcache page is replaced
staging: zram: fix zram locking
Staging: zram: Replace mutex lock by a R/W semaphore
Staging: zram: Add a missing GFP_KERNEL specifier in zram_init_device()
mm/ksm.c is doing an unneeded _notify in write_protect_page.
ksm: check for ERR_PTR from follow_page()
vmalloc(): adjust gfp mask passed on nested vmalloc() invocation
staging:lowmemkiller add Fudgeswap
drivers/mmc/host/msm-sdcc: remove dead config options
mmc: msm_sdcc: Fix possible circular locking dependency warning
mmc: msm_sdcc: Add prog done interrupt support
mmc: msm_sdcc: Fix bug in PIO mode when data size is not word aligned
mmc: msm: fix dma usage not to use internal APIs
mmc: change clock from 50Mhz to 64Mhz PCLK
mmc: change NR_SG from 32 to 128 for better performance
staging: Add Snappy compression support to zram
disable KSM for unstable reason while zram is enabled.
24 SEP 2012 link
ICS & JB
ashmem: Implement read(2) in ashmem driver
ashmem: Fix ASHMEM_SET_PROT_MASK.
ashmem: Support lseek(2) in ashmem driver
ashmem: Fix the build failure when OUTER_CACHE is enabled
ashmem: Fix ashmem vm range comparison to stop roll-over
Disabling Gentle Fair Sleepers improve UI responsiveness.
base: genlock: handle error while creating lock/handle inode
base: genlock: add magic to protect attach from non-genlock file
base: genlock: protect kref counting with spinlock
Staging: android: binder: Add some missing binder_stat_br calls
tweak iosched for better android performance
JB
video: msm: add mdp version to id string,and put a bogus panel id
Great thanks to Xylograph , dorimanx , Rick_1995, tytung and all of the guys who is reading this thread.
If you like my work please don't hesitate to press the Thanks button.
hypergamer1231 said:
You mean you wont release it today :-(
Click to expand...
Click to collapse
I don't really get what you guys mean by "no kernel?" or "no release today?".
The code is there in a GIT repository and as far as I understood the OP the kernel is useless without a matching ICS/CM9 ROM anyways, so it makes no sense at all to release a binary and get flooded with "OMG IT DOES NOT WORK WITH CM7" replies.
If you think you know what to do with this kernel you should be able to set up GIT and a Android compile toolchain and compile it from source. If you need a flashable ZIP, this kernel is useless for you anyways.
This thread is dev/bug collection-related, not a kernel download thread. Wait for Xylograph to release his CM9.
Calm down people, none of the roms available yet use it anyway.
Xylograph in pm (removed few things)
Ok guys,
I think my beta build is amost finished and I will be leaving my workplace soon and go home..
I will be available again in about 4 hours from now to work on it again.. Will check XDA every once in a while..
Cheers !
Click to expand...
Click to collapse
I could post link to the alpha test rom we used, but it isn't that exciting with most stuff being buggy (some things even worse than current ics roms).
@securecrt, You have done what i was afraid of.. WHY WHY WHY overwrite git data with "first commit", if you had just used git push and git add remote, we could see what you had done without downloading the kernel.
Rick_1995 said:
@securecrt, You have done what i was afraid of.. WHY WHY WHY overwrite git data with "first commit", if you had just used git push and git add remote, we could see what you had done without downloading the kernel.
Click to expand...
Click to collapse
+1
@securecrt:
Congratulation that you have added HWA feature to the 2.6.32 kernel.
But I suggest that you may consider re-uploading another version including all the old commits and your changes.
Edit:
Or share your changes by executing "git diff > HWA.diff" or "git format-patch -o HWA.patch".
tytung said:
+1
@securecrt:
Congratulation that you have added HWA feature to the 2.6.32 kernel.
But I suggest that you may consider re-uploading another version including all the old commits and your changes.
Edit:
Or share your changes by executing "git diff > HWA.diff" or "git format-patch -o HWA.patch".
Click to expand...
Click to collapse
Hey tytung
I created a diff of latest DORIMANX git and the HWA Kernel git.
Diff is available here https://www.dropbox.com/s/isv8ggyot1kzooa/DIFF-Dorimanx-HD2-2.6.32.X-SecureCRT-HD2-2.6.32.X-HWA.diff
Hi securecrt, thanks for your work here.
I am trying to port Xylograph's ROM with portadroid, as I think you tried with more success than me. Could you post your initrd.gz?
Many thanks
I have a question, can i just take the "lib" directory from the CM9 ROM and add it to the AOKP build you made xlo? would that work? since they are both based off of CM9?
elesbb said:
I have a question, can i just take the "lib" directory from the CM9 ROM and add it to the AOKP build you made xlo? would that work? since they are both based off of CM9?
Click to expand...
Click to collapse
I don't know, you can hack it by yourself
tytung said:
+1
@securecrt:
Congratulation that you have added HWA feature to the 2.6.32 kernel.
But I suggest that you may consider re-uploading another version including all the old commits and your changes.
Edit:
Or share your changes by executing "git diff > HWA.diff" or "git format-patch -o HWA.patch".
Click to expand...
Click to collapse
Tytung,
Please make a note that the securecrt kernel DOES work with usb tethering via the wired-tether 1.4 apk where your kernel does not. Perhaps this might help in debugging the issue? "normal" usb tethering brings up the rndis device (your kernel returns a -1 return code at that point) but fails to send or receive data...the wired tether apk gets around the issue and works as normal usb tether should.
I have seen some of the ROM Devs are working on the HWA ICS ROMs . It is really a good start point.
Today is new life for HD2.
Cheers.
a-st said:
Hey tytung
I created a diff of latest DORIMANX git and the HWA Kernel git.
Diff is available here https://www.dropbox.com/s/isv8ggyot1kzooa/DIFF-Dorimanx-HD2-2.6.32.X-SecureCRT-HD2-2.6.32.X-HWA.diff
Click to expand...
Click to collapse
Thank you.
It's very helpful.
Edit:
Well, SecureCRT's kernel is based on Dorimanx 6.6C while DORIMANX kernel is 6.6D. So there are something unrelated to HWA.
Anyway, thanks.
famewolf said:
Tytung,
Please make a note that the securecrt kernel DOES work with usb tethering via the wired-tether 1.4 apk where your kernel does not. Perhaps this might help in debugging the issue? "normal" usb tethering brings up the rndis device (your kernel returns a -1 return code at that point) but fails to send or receive data...the wired tether apk gets around the issue and works as normal usb tether should.
Click to expand...
Click to collapse
If securecrt kernel makes wired-tether working, it should be that Dorimanx updated some code related to the USB driver. Or maybe the CM team updated CM9 (ICS 4.0.4) to make it compatible with old USB driver.
tytung said:
Thank you.
It's very helpful.
Click to expand...
Click to collapse
I think you will update your kernel and ROM soon .
how about at the end of this weekend?
Sent from my HTC HD2 using xda premium
Hey, is this kernel just for SD. i couldnt find a flashable zip unless i overlooked something
@securecrt:
Your kernel is awesome, but there's a small detail that jumps to the eye.
I was testing a CM9 rom based on your kernel, that as alot of banding on transparencies.
That defect was caught by Marc IIRC as a small value on the kernel that had to be changed.
Can you confirm this ?
Big Bang
Great news everybody and big thanks to securecrt, Rick_1995, Dorimanx & all the others behind the scenes.
@securecrt
The RAM management issues have been solved yet?
The KSM already enabled now
Sent from my HTC HD2 using xda premium
THREAD CLEANED​
Please guys/gals stay ON TOPIC, development related. This is a thread about KERNEL, nor about roms. Please use the 'thanks button'. Do not ask for any ETA. Thanks for your cooperation.
I find a bug in current kernel.
I hope can fix it soon.
Sent from my HTC HD2 using xda premium
securecrt said:
I find a bug in current kernel.
I hope can fix it soon.
Sent from my HTC HD2 using xda premium
Click to expand...
Click to collapse
Whats bugs mate? Can you post the list of bugs here?
Sent from my Nexus S using XDA

[17.Dec.2012][Kernel] marc1706's 2.6.35.14 ICS & JB Kernel[v0.1.4 & v0.1.2]

marc1706's 2.6.35.14 ICS & JB Kernel​
This kernel is based on the HTC Desire 2.6.35.10 kernel source code ported by warrenb213 and me with help from Markinus' CyanogenMod kernel source.
This kernel is only for ICS/JB ROMs and shouldn't be used on any older ROMs. Only use the ICS kernel on ICS ROMs and the JB Kernel on JB ROMs!
Features:
Default CPU governor: ondemand
Default CPU speed: 245 MHz - 998 MHz
Available CPU speeds: 96 MHz - 1536 MHz (if speeds above 1190 MHz are not stable for you, stick to lower frequencies)
Available CPU governors: interactive, conservative, userspace, powersave, ondemand, performance, smartassV2, Lagfree, Lazy, SavagedZen, scary, smartass, smoothass, superbad, virtuous, interactiveX, ondemandX
Default IO Scheduler: BFQ
Available I/O schedulers: no-op, deadline, CFQ, BFQ, simple IO, VR
G-Sensor freeze fix (Credits: mdebeljuh and jdivic)
Wakeup lag fix for AUO panels (Credits: mdebeljuh and jdivic)
cLK support
Extended battery support (still needs some testing, I don't have an EB)
BFS CPU scheduler (disabled in JB Kernel 0.1.2+)
ALSA sound drivers
Simple IO Scheduler
HTC Auto-White Balance
Two-way call recording (Credit to avs333, snq-, tytung)
add proc file interface /proc/mic_level and fix mic gain (Credits to mdebeljuh and jdivic, tytung)
zRam (Credits: me, faux123): Activation script can be found here
xt_qtaguid: Monitor network traffic
ICS HWA (credits to Rick_1995, SecureCRT, Xylograph, tytung)
KGSL v3.8 (credits to Rick_1995, small parts by me)
Real MAC address (credits to Franck78, Rick_1995, me)
HTC HD2 off-mode alarm (credits to kokotas, Rick_1995; cleaner implementation by me)
Working:
Data
Wifi
Bluetooth
LED notifications
G-Sensor
Camera
Camcorder
Auto-Backlight
Headset
VPN
Not working:
Some ROMs might not properly support NativeSD with this kernel. This is an issue with the ramdisk.
Current ICS version: 0.1.4
Current JB version: 0.1.2
Download ICS Kernel:
marc1706_desire_ics_0_1_4.zip
Download JB Kernel:
marc1706_desire_jb_0_1_2.zip
Outdated versions:
marc1706_desire_jb_0_1_1.zip
marc1706_desire_jb_0_1_0.zip
marc1706_desire_ics_0_1_3.zip
marc1706_desire_ics_0_1_2.zip
marc1706_desire_ics_0_1_1.zip
Credits to:
Markinus, warrenb213, sbryan12144, tytung, hastarin, rafpigna, Cotulla, mdebeljuh, jdivic, faux123, Rick_1995, securecrt, Xylograph, Franck78, ... (if I forgot you, just send me a PM)
Changelog JB Kernel:
0.1.1 to 0.1.2:
msm: mdp: add new IOCTL commands
staging: android/lowmemorykiller: Do not kill kernel threads
staging: android/lowmemorykiller: No need for task->signal check
memcg: use find_lock_task_mm() in memory cgroups oom
oom: move badness() declaration into oom.h
oom: move sysctl declarations to oom.h
oom: badness heuristic rewrite
oom: multi threaded process coredump don't make deadlock
oom: give the dying task a higher priority
oom: remove child->mm check from oom_kill_process()
oom: cleanup has_intersects_mems_allowed()
fs: proc: include missing header file
oom: move OOM_DISABLE check from oom_kill_task to out_of_memory()
oom: kill duplicate OOM_DISABLE check
oom: /proc/<pid>/oom_score treat kernel thread honestly
oom: oom_kill_process() needs to check that p is unkillable
oom: make oom_unkillable_task() helper function
oom: oom_kill_process() doesn't select kthread child
oom: don't try to kill oom_unkillable child
oom: fold __out_of_memory into out_of_memory
oom: remove constraint argument from select_bad_process and __out_of_memory
mm: rename try_set_zone_oom() to try_set_zonelist_oom()
oom: remove unnecessary code and cleanup
oom: remove special handling for pagefault ooms
oom: extract panic helper function
oom: finished patch that was messed up by HTC
oom: select task from tasklist for mempolicy ooms
oom: sacrifice child with highest badness score for parent
oom: filter tasks not sharing the same cpuset
oom: avoid sending exiting tasks a SIGKILL
oom: give current access to memory reserves if it has been killed
oom: dump_tasks use find_lock_task_mm too fix
oom: improve commentary in dump_tasks()
oom: dump_tasks use find_lock_task_mm too
oom: introduce find_lock_task_mm() to fix !mm false positives
oom: PF_EXITING check should take mm into account
oom: check PF_KTHREAD instead of !mm to skip kthreads
staging: android/lowmemorykiller: Better mm handling
staging: android/lowmemorykiller: Don't grab tasklist_lock
Staging: android: fixed 80 characters warnings in lowmemorykiller.c
lowmemorykiller: Account for ZONE_MOVABLE during hotplug.
staging: android: lowmemorykiller: Ignore shmem pages in page-cache
staging: android: lowmemorykiller: Don't wait more than one second for a process to die
lowmemorykiller: don't unregister notifier from atomic context
lowmemorykiller: Update arguments of shrinker for 2.6.35
staging: android: lowmemorykiller: Remove bitrotted codepath
staging: android: lowmemorykiller: Fix task_struct leak
staging: android: lowmemkiller: merge aosp version of lowmemkiller
Revert "binder: Quiet binder"
Staging: android: binder: Fix use-after-free bug
Staging:android: Change type for binder_debug_no_lock switch to bool
drivers:staging:android Typos: fix some comments that have typos in them.
Staging: android: binder: Fix crashes when sharing a binder file between processes
Staging: android: binder: Don't call dump_stack in binder_vma_open
mach-msm: pm: handle HTC HD2 off-mode alarm
msm: smd: add comments about htcleo specific init code
block: bfq: update to BFQ-v5 I/O sched for 2.6.38
block: bfq: update to BFQ-v4 I/O sched for 2.6.38
block: bfq: update to BFQ-v3r4 I/O sched for 2.6.38
block: bfq: update to BFQ-v3r2
block: bfq: update to BFQ-v3r1 I/O scheduler to 2.6.38
block: bfq: update to bfq v2
0.1.0 to 0.1.1:
msm: htcleo: enable ipv6 netfilters
tproxy: added udp6_lib_lookup function
tproxy: added const specifiers to udp lookup functions
netfilter: tproxy: do not assign timewait sockets to skb->sk
tproxy: added IPv6 socket lookup function to nf_tproxy_core
tproxy: add lookup type checks for UDP in nf_tproxy_get_sock_v4()
ppp: Don't stop and restart queue on every TX packet
ppp: fix 'ppp_mp_reconstruct bad seq' errors
Compile tun as module
net: constify some ppp/pptp structs
net: Reorder incoming packets in PPPoLAC and PPPoPNS.
net: ppp: Fix common misspellings in ppp_generic
ppp: Use SKB queue abstraction interfaces in fragment processing.
ppp: Reconstruct fragmented packets using frag lists instead of copying.
ppp: Clean up kernel log messages.
ppp: allow disabling multilink protocol ID compression
net, ppp: Report correct error code if unit allocation failed
filter: optimize sk_run_filter
llseek: automatically add .llseek fop
ppp: Use a real SKB control block in fragmentation engine.
ppp: potential NULL dereference in ppp_mp_explode()
net: autoconvert trivial BKL users to private mutex
ppp: use PPP_TRANS instead of the magic number 0x20
net: Ppp_async: semaphore cleanup
ppp: make channel_ops const
net+crypto: Use vmalloc for zlib inflate buffers.
zlib: slim down zlib_deflate() workspace when possible
crypto: Use vzalloc
net: ppp: use {get,put}_unaligned_be{16,32}
msm: htcleo: add missing built-in flag for wifi
mmc: port mmc code from tiamat 2.6.38
ICS 0.1.3 to JB 0.1.0:
f2fs: fix last few compile issues
nommu: Fix up vmalloc_node() symbol export regression.
mm: add vzalloc() and vzalloc_node() helpers
f2fs: revert preperation for multiple request_lists
f2fs: fix super.c for 2.6.35
f2fs: adjust types in namei.c for 2.6.35
f2fs: use check_acl instead of get_acl
filesystems: add set_nlink()
fallocate should be a file operation
f2fs: use is_owner_or_cap() in 2.6.35 kernel
fs: add hole punching to fallocate
f2fs: add f2fs_get_acl helper function for 2.6.35
f2fs: use pre 3.1 implementation of fsync
rename generic_setattr
vfs: export symbol d_find_any_alias()
fs: dcache: use dget_locked in __d_find_any_alias
fs/dcache: allow d_obtain_alias() to return unhashed dentries
fs: simplify __d_free
fs: take dcache_lock inside __d_path
VFS: Fix race between CPU hotplug and lglocks
lglock: make lg_lock_global() actually lock globally
lglock: introduce special lglock and brlock spin locks
fs: brlock vfsmount_lock
fs: remove extra lookup in __lookup_hash
fs/dcache: fix function param name in kernel-doc
vfs: show unreachable paths in getcwd and proc
vfs: only add " (deleted)" where necessary
vfs: add prepend_path() helper
vfs: __d_path: dont prepend the name of the root dentry
vfs: add helpers to get root and pwd
cachefiles: use path_get instead of lone dget
pass a struct path to vfs_statfs
no need for list_for_each_entry_safe()/resetting with superblock list
new helper: __dentry_path()
f2fs: fix kunmap_atomic for 2.6.35 kernel
arm: introduce little-endian bitops
ARM: 6653/1: bitops: Use BX instead of MOV PC,LR
ARM: bitops: switch set/clear/change bitops to use ldrex/strex
ARM: bitops: ensure set/clear/change bitops take a word-aligned pointer
ARM: 6621/1: bitops: remove condition code clobber for CLZ
f2fs: update Kconfig and Makefile
f2fs: add recovery routines for roll-forward
f2fs: add garbage collection functions
f2fs: add xattr and acl functionalities
f2fs: add core directory operations
f2fs: add inode operations for special inodes
f2fs: add core inode operations
f2fs: add address space operations for data
f2fs: add file operations
f2fs: add segment operations
f2fs: add node operations
f2fs: add checkpoint operations
f2fs: add super block operations
f2fs: add superblock and major in-memory structures
f2fs: add on-disk layout
f2fs: add document
Fix wifi
Update kgsl code to securecrt's code
Update pmem code
Enable bcm4329 for now and fixup
plist: Add plist_last
Enable kexec
msm: boards: set ALLORNOTHING allocator for mdp heap
gpu: ion: fast forward to latest pre-IOMMU code
ion: minor clean up
gpu: ion: Validate handles passed via the kernel api
gpu: ion: Fix deferencing ERR_PTR
gpu: ion: Fix possible memory leak
gpu: ion: Remove redunant code from ion_open
gpu: ion: Fix bug in ion client destroy
gpu: ion: Fix bug in ion_client_create
gpu: ion: Remove incorrect error message
gpu: ion: Fix bug in ion_buffer_add
gpu: ion: Several fixes
gpu: ion: Add ION Memory Manager
compiledcopy: update script for bcmdhd and removal of lzo modules
Port newer net code from Evervolv 2.6.38 kernel for bcmdhd
msm: htcleo: bcmdhd updates
net: wireless: bcmdhd: fast forward to newest code from Evervolv
net: wireless: bcmdhd: Fix scan crash in ibss mode
net: wireless: bcmdhd: Add FW reloading in case of FW hang
net: wireless: bcmdhd: Update to Version 5.90.125.94.1
net: wireless: bcmdhd: Use CONFIG_DHD_USE_STATIC_BUF for preallocated memory
net: wireless: bcmdhd: fast forward to newest jb_chocolate code
net: wireless: bcmdhd: Fix memory poisoning in wl_free_wdev()
net: wireless: bcmdhd: Set proper debug messages for private IOCTL
net: wireless: bcmdhd: Add RSSI and SETSUSPENDOPT private commands
net: wireless: bcmdhd: Fix failure in register_sysctl_table() call
net: wireless: bcmdhd: Fix 3.0 compilation for CFG80211
net: wireless: bcmdhd: Combined patch from 4.218.248-31
net: wireless: bcmdhd: Fix getting Mac address from platform data
net: wireless: bcmdhd: Fix race conditions for sysioc_thread
net: wireless: bcmdhd: Reduce listen interval to 10 (from 20)
net: wireless: bcmdhd: Prevent working thread to run during suspend path
net: wireless: bcmdhd: Allocate skb with GFP_KERNEL flag if possible
net: wireless: bcmdhd: Fix memleak in dev->p
net: wireless: bcmdhd: Fix scan timeout for abg case
net: wireless: bcmdhd: Prevent using WEXT in case of CFG80211
net: wireless: bcmdhd: Add missing dhd_get_dtim_skip() declaration
net: wireless: bcmdhd: Get rid of ANDROID define
net: wireless: bcmdhd: Add setting country code from platform data
net: wireless: bcmdhd: Fix SOFTAP compilation
net: wireless: bcmdhd: Get MAC from platform data
net: wireless: bcmdhd: Fix ANDROID define, clean obsolete code
Update to 5.90.125.27 release.
net: wireless: bcmdhd: Switch to CUSTOMER_HW2
net: wireless: bcmdhd: Remove obsolete debug messages
net: wireless: bcmdhd: Allow error debug prints from the beginning
net: wireless: bcmdhd: Fix watchdog firing in softirq on removal
net: wireless: bcmdhd: Allow WEXT support
net: wireless: bcmdhd: Fix params in wl_cfg80211_event call
net: wireless: bcmdhd: Add spinlock initialization
net: wireless: bcmdhd: Fix config FW and NVRAM path
Update to 5.90.125.22:
msm: htcleo: update defconfig after bcmdhd import
net: wireless: bcmdhd: Initial version based on 5.90.125.14
Changelog ICS Kernel:
0.1.3 to 0.1.4:
msm: htcleo: enable ipv6 netfilters
tproxy: added udp6_lib_lookup function
tproxy: added const specifiers to udp lookup functions
netfilter: tproxy: do not assign timewait sockets to skb->sk
tproxy: added IPv6 socket lookup function to nf_tproxy_core
tproxy: add lookup type checks for UDP in nf_tproxy_get_sock_v4()
ppp: Don't stop and restart queue on every TX packet
ppp: fix 'ppp_mp_reconstruct bad seq' errors
net: constify some ppp/pptp structs
net: Reorder incoming packets in PPPoLAC and PPPoPNS.
net: ppp: Fix common misspellings in ppp_generic
ppp: Use SKB queue abstraction interfaces in fragment processing.
ppp: Reconstruct fragmented packets using frag lists instead of copying.
ppp: Clean up kernel log messages.
ppp: allow disabling multilink protocol ID compression
net, ppp: Report correct error code if unit allocation failed
filter: optimize sk_run_filter
llseek: automatically add .llseek fop
ppp: Use a real SKB control block in fragmentation engine.
ppp: potential NULL dereference in ppp_mp_explode()
net: autoconvert trivial BKL users to private mutex
ppp: use PPP_TRANS instead of the magic number 0x20
net: Ppp_async: semaphore cleanup
ppp: make channel_ops const
net+crypto: Use vmalloc for zlib inflate buffers.
zlib: slim down zlib_deflate() workspace when possible
crypto: Use vzalloc
net: ppp: use {get,put}_unaligned_be{16,32}
msm: htcleo: add missing built-in flag for wifi
mmc: port mmc code from tiamat 2.6.38
f2fs: fix last few compile issues
nommu: Fix up vmalloc_node() symbol export regression.
mm: add vzalloc() and vzalloc_node() helpers
f2fs: revert preperation for multiple request_lists
f2fs: fix super.c for 2.6.35
f2fs: adjust types in namei.c for 2.6.35
f2fs: use check_acl instead of get_acl
filesystems: add set_nlink()
fallocate should be a file operation
f2fs: use is_owner_or_cap() in 2.6.35 kernel
fs: add hole punching to fallocate
f2fs: add f2fs_get_acl helper function for 2.6.35
f2fs: use pre 3.1 implementation of fsync
rename generic_setattr
vfs: export symbol d_find_any_alias()
fs: dcache: use dget_locked in __d_find_any_alias
fs/dcache: allow d_obtain_alias() to return unhashed dentries
fs: simplify __d_free
fs: take dcache_lock inside __d_path
VFS: Fix race between CPU hotplug and lglocks
lglock: make lg_lock_global() actually lock globally
lglock: introduce special lglock and brlock spin locks
fs: brlock vfsmount_lock
fs: remove extra lookup in __lookup_hash
fs/dcache: fix function param name in kernel-doc
vfs: show unreachable paths in getcwd and proc
vfs: only add " (deleted)" where necessary
vfs: add prepend_path() helper
vfs: __d_path: dont prepend the name of the root dentry
vfs: add helpers to get root and pwd
cachefiles: use path_get instead of lone dget
pass a struct path to vfs_statfs
no need for list_for_each_entry_safe()/resetting with superblock list
new helper: __dentry_path()
f2fs: fix kunmap_atomic for 2.6.35 kernel
arm: introduce little-endian bitops
ARM: 6653/1: bitops: Use BX instead of MOV PC,LR
ARM: bitops: switch set/clear/change bitops to use ldrex/strex
ARM: bitops: ensure set/clear/change bitops take a word-aligned pointer
ARM: 6621/1: bitops: remove condition code clobber for CLZ
f2fs: update Kconfig and Makefile
f2fs: add recovery routines for roll-forward
f2fs: add garbage collection functions
f2fs: add xattr and acl functionalities
f2fs: add core directory operations
f2fs: add inode operations for special inodes
f2fs: add core inode operations
f2fs: add address space operations for data
f2fs: add file operations
f2fs: add segment operations
f2fs: add node operations
f2fs: add checkpoint operations
f2fs: add super block operations
f2fs: add superblock and major in-memory structures
f2fs: add on-disk layout
f2fs: add document
Update pmem code
plist: Add plist_last
msm: boards: set ALLORNOTHING allocator for mdp heap
Enable kexec
0.1.2 to 0.1.3:
msm: htcleo: Add sysfs interface for forcing the gsensor mode
msm: qdsp6: venc: add missing IOCTL command
Disable paranoid sd init
kernel: sched: Add wait_for_completion_io to BFS
Revert "Ported new aac code from Code Aurora"
mtd: htcleo_nand: small clean-up
mtd: mtdchar: increase MAX_KMALLOC_SIZE back to 0x20000
base: genlock: protect kref counting with spinlock
base: genlock: add magic to protect attach from non-genlock file
net: wireless: bcm4329: Fix pno_enable if disassociated
pmem: explicitly include sched.h
mmc: Attribute the IO wait time properly in mmc_wait_for_req().
msm: dma: Track waiting for requests as io_wait time
cgroup: fix cpuset permission check
PM: wakelocks: Replace variable and constants names with CAF version
ashmem: fix deadlock when system is low on memory
vmscan: move referenced VM_EXEC pages to active list
fs: mark_inode_dirty barrier fix
fs: add sync_inode_metadata
sync_inode_metadata: fix comment
fs: simple fsync race fix
fs: ext2 inode sync fix
staging: zram: import zram from CAF's jb_chocolate (kernel 3.0.8)
staging: zcache: in-kernel tmem code
staging: zcache: host services and PAM services
staging: zcache: misc build/config
staging: zcache: fix memory leak
staging: zram: merge newer zram code
Staging: zram: initialize device on first read
staging: Allow sharing xvmalloc for zram and zcache
msm: htcleo: update defconfig for zram changes
mm/fs: cleancache documentation
fs: add field to superblock to support cleancache
mm: cleancache core ops functions and config
mm/fs: add hooks to support cleancache
ext3: add cleancache support
btrfs: add cleancache support
ext4: add cleancache support
ocfs2: add cleancache support
msm: htcleo: enable cleancache
fmem: add fmem API header file
fmem: add qcache implementation
decompressors: add XZ decompressor module
decompressors: add boot-time XZ support
msm: htcleo: add new config options after XZ import
XZ decompressor: Fix decoding of empty LZMA2 streams
XZ: Fix missing <linux/kernel.h> include
XZ: Fix incorrect XZ_BUF_ERROR
ARM: support XZ compressed kernels
lib/sha1: use the git implementation of SHA-1
arm: remove "optimized" SHA1 routines
arm: remove stale export of 'sha_transform'
ondemand: Make the iowait-is-busy time a sysfs tunable
cpufreq: Make down_differential parameter configurable.
[CPUFREQ] ondemand: don't synchronize sample rate unless multiple cpus present
cpufreq: fix incorrect tabbing
iosched: tweak deadline for flash usage
binder: Quiet binder
android: logger: bump up the logger buffer sizes
msm: htcleo: add socinfo
net/rfkill/core.c: Avoid leaving freed data in a list
rfkill: remove dead code
rfkill: add missing llseek
net: return operator cleanup
timers: Introduce timerlist infrastructure.
timers: Rename timerlist infrastructure to timerqueue
timers: Add rb_init_node() to allow for stack allocated rb nodes
power: ds2746: Add procfs interface for fast charge
semaphore: Add DEFINE_SEMAPHORE
driver core: device_rename's new_name can be const
base: genlock: handle error while creating lock/handle inode
compile tun as module
0.1.1 to 0.1.2:
Updated Wifi driver to latest CAF
net: wireless: bcm4329: Let user change firmware path
netfilter: Add quota2
netfilter: quota2: add support to log quota limit reached
msm: htcleo: Add real mac addresses
0.2.1 (GB Sense Kernel) to 0.1.1 (ICS Kernel):
ARM: zImage: make sure the stack is 64-bit aligned
Increase max battery voltage
Allow high current charging on china chargers
msm: htcleo: implement real unique MAC address patch
tproxy: added IPv6 support to the socket match
netfilter: nf_conntrack: IPS_UNTRACKED bit
netfilter: xt_TPROXY: the length of lines should be within 80
netfilter: use NFPROTO_IPV4 instead of AF_INET
tproxy: kick out TIME_WAIT sockets in case a new connection comes in with the same tuple
tproxy: split off ipv6 defragmentation to a separate module
tproxy: added IPv6 support to the TPROXY target
tproxy: use the interface primary IP address as a default value for on-ip
netfilter: fix module dependency issues with IPv6 defragmentation, ip6tables and xt_TPROXY
netfilter: xt_socket: Make tproto signed in socket_mt6_v1()
netfilter: tproxy: do not assign timewait sockets to skb->sk
nf: xt_socket: export the fancy sock finder code
netfilter: add xt_qtaguid matching module
nf: qtaguid: workaround xt_socket_get_sk() returning bad SKs
nf: qtaguid: make procfs entry for ctrl return correct data
netfilter: qtaguid: fix bad-arg handling when tagging socket
netfitler: xt_qtaguid: add another missing spin_unlock
netfilter: qtaguid: add tag delete command, expand stats output
netfilter: xt_qtaguid: add uid permission checks during ctrl/stats access
netfilter: qtaguid: disable #define DEBUG
netfilter: xt_qtaguid: add counter sets and matching control
netfilter: xt_qtaguid: recognize IPV6 interfaces. root is procfs privileged
netfilter: xt_qtaguid: Fix socket refcounts when tagging
netfilter: xt_qtaguid: Fix sockfd_put() call within spinlock
netfilter: xt_qtaguid: add some tagging/matching stats
netfilter: xt_qtaguid: fix dev_stats for missing NETDEV_UNREGISTER
netfilter: qtaguid: fix proc/.../stats uid filtered output
netfilter: xt_qtaguid: 1st pass at tracking tag based data resources
netfilter: xt_qtaguid: warn only once for missing proc qtaguid data
netfilter: xt_qtaguid: work around devices that reset their stats
netfilter: xt_qtaguid: provide an iface_stat_all proc entry
netfilter: xt_qtaguid: fix crash after using delete ctrl command
netfilter: xt_qtaguid: add missing tracking for no filp case
netfilter: xt_qtaguid: Fix the stats info display order
netfilter: xt_qtaguid: fix crash on ctrl delete command
msm: htc_headset_mgr: fix headphones for ICS (plattypus)
Kbuild: Export ashmem header file to user space
lib: bitmap/genalloc: backport from cafs 3.0
lib: backport memory_alloc from cafs 3.0
msm: kgsl: patch: import kgsl v3.3 driver from CAF msm.38 - part 1
board: htcleo: add kgsl-3d0 device
msm: kgsl: fixes for kgsl backport
drivers: misc: update pmem
msm: add support for socinfo and internal_power_rail
drivers: video: msm: fix build for new pmem
Fix compile issues after adding new KGSL
drivers: base: Add generic cross-process locking API
base: genlock: Properly destroy handle resources
base: genlock: Avoid a race condition when releasing locks
base: genlock: Add error messages for failure cases
base: genlock: Check for instances where handle is NULL
base: genlock: Remove genlock_release_lock and associated ioctl
base: genlock: Use a signed long for the result from wait_timeout
base: genlock: allow synchronization with a single gralloc handle
Clean up after adding new KGSL and enabling new configs
fixed the boot logo (SecureCRT)
Ported kgsl code from HWA kernel
Fixed mdp for android ics
Fixed BT and BT standby drain (needed for switch from sense -> AOSP)
block: add v/r io scheduler
workqueue: add is_workqueue_empty() api
power: fix lcd resume taking long time with an ongoing file copy
power: fix suspend_sys_sync_wait()
PM: Back off suspend if repeated attempts fail
thp: ksm: free swap when swapcache page is replaced
msm: clock-wince: Add clk_round_rate
msm: add footswitch-pcom
msm: htcleo: cleanup in board file
msm: footswitch: start footswitch devices in manual mode
Port basic files for kgsl 3.8
msm: socinfo: add preprocessor macros
msm: kgsl: add missing wakelock init/deinit
Extras:
zram Static Activation (by Dorimanx, modified for .35 by me, fixed disksize):
View attachment marc1706_zram_100MB.zip
FAQs:
My phone sometimes lags when I unlook it. After 1-2 seconds the lag is gone. Is there a way to fix this?
Yes, just set the minimum cpu speed to 245 MHz. The snapdragon cpu is not able to scale from 128 MHz to any given frequency. From 128 MHz it can only scale to 245 MHz and then it'll scale to higher frequencies.
Can we have ZSL (= zero shutter lag) on the HD2?
No. ZSL was created for newer smartphones that have camera sensors that support ZSL.
My phone suddenly can't connect to my Wifi router after updating to this kernel.
Your phone will have a new wifi mac with this kernel. You will need to allow this new mac address if you have mac address filtering enabled on your router.
Have fun with the ICS kernel.
marc1706 said:
Have fun with the ICS kernel.
Click to expand...
Click to collapse
Thanks a million for all that you do with our Hd2. Cheers
Sent from my HD2
ICS with sense? Or just ICS?
Sent from my HTC HD2 using XDA
@marc1706
So I installed the 0.1.1 kernel it was very very smooth. So I rebooted the phone but when it restarted my apps were gone. My free space is now at 0 see attached 1st. pic. Running Smokin's MIUI-US-2.5.11-HWA. Is this a kernel problem? Cheers
Edit: My setup also included Setcpu with lagfree governor no profiles 245 min 1036 max I have also installed a2sd. I booted to recovery flashed tytungs-HWA-r2.3-uniMAC and my apps kinda returned. They are all there but not in same order as I had them set to display. Any ideas ?
Edit2:
After being satisfied that my data was ok. I re flashed your kernel and again after reboot same problem. So I'm thinking there is an issue with a2sd and your kernel. Cheers
marc1706 said:
Have fun with the ICS kernel.
Click to expand...
Click to collapse
:thumbup:
It's nice to see the progress in sense kernel.
Sent from my HTC HD2 using xda premium
marc1706 said:
Have fun with the ICS kernel.
Click to expand...
Click to collapse
As someone said Marc for president
I think that XDA have to enlarge number of thanks per day since I have gave only 8 thanks today and Marc, Rick, Securecrt, Rapmv78, SBbryan, Xylo, Tytung and others deserve million thanks
Brilliant kernel overall...everything is working and feels quite snappy, maybe faster than .32 kernel
One issue - I,m using amarullz a2sd script and kernel causes low sound bug ( I reflashed tytung .32 kernel and the sound bug was gone). Fix permissions does not solve the issue.
Cheers
On miui 2.5.11, eu hd2
Sent from my HTC HD2 using Tapatalk
rafiqzadah said:
ICS with sense? Or just ICS?
Sent from my HTC HD2 using XDA
Click to expand...
Click to collapse
Really? How am I supposed to put Sense into a kernel?
If you are asking if this is an ICS Sense kernel:
I think HTC stopped messing kernels up for sense. If we need something special for sense 4.0 I think I'll soon found out.
If you have issues with A2SD reboot into recovery and make sure to fix permissions and wipe the dalvik cache.
Using the kernel on Xylo's AOKP milestone 5 HWA.
Very good so far, except an FC on Settings ... Wireless & Network ... More
(i.e. APN settings, etc.)
Not a problem as my data/APNs are fine.
Email is FCing too - just re-creating my accounts now to see if that fixes it.
Cheers
EDIT: think I have tytung's 2.3-uM initrd as that was my previous kernel.
doesn't boot ics1.1 on tostidroid 1.1 magldr
wheeliemonster said:
Using the kernel on Xylo's AOKP milestone 5 HWA.
Very good so far, except an FC on Settings ... Wireless & Network ... More
(i.e. APN settings, etc.)
Not a problem as my data/APNs are fine.
Email is FCing too - just re-creating my accounts now to see if that fixes it.
Cheers
Click to expand...
Click to collapse
Fix permissions in recovery and make sure to wipe the dalvik cache.
dimdimdim said:
doesn't boot ics1.1 on tostidroid 1.1 magldr
Click to expand...
Click to collapse
You can try,go in recovery clear cache & wipe dalvik cache.
Kernel is amazing,running on IceCreamTosti v1.0 PE B35 smoot & fast,no fc's at all,data,wifi,calls ok,battery 2-6mA on standby.....so far so good...
marc1706 said:
Fix permissions in recovery and make sure to wipe the dalvik cache.
Click to expand...
Click to collapse
Cheers Marc. Did a couple of dalvik wipes and re-created the accounts. Seems to have settled down now. APN settings page no longer FC's now too.
Will continue testing and report back.
On ICS kernel in CM9 nightly (13th May) with app and app-private symlinked to SD EXT. Just flashed the kernel- no issues, no FC, all apps area there and work fine, email accounts work. I didn't clear dalvik cache or fix permissions...
Swyped from my HTC HD2 (ICS 4.0.4)
wheeliemonster said:
Cheers Marc. Did a couple of dalvik wipes and re-created the accounts. Seems to have settled down now. APN settings page no longer FC's now too.
Will continue testing and report back.
Click to expand...
Click to collapse
Hi Marc,
Just to confirm a little more testing.
Bluetooth is working perfectly in this kernel. In fact, it's the best I've tried yet for ICS. I have a Nokia BH-505 BT headset, which on tytung's and securecrt's kernels, have always "fed-back" the microphone audio into the headphones, so I can hear myself speaking and get lots of background noise in calls. Yours does not seem to do that. AVRCP stuff is working fine too, so, all in all, very very pleased with your kernel.
Thanks very much for your hard work. Fantastic.
zexmunze said:
You can try,go in recovery clear cache & wipe dalvik cache.
Kernel is amazing,running on IceCreamTosti v1.0 PE B35 smoot & fast,no fc's at all,data,wifi,calls ok,battery 2-6mA on standby.....so far so good...
Click to expand...
Click to collapse
sorry, but I meant sd/magldr boot I understand, that the kernel was not designed for the sd builds.
just for the dev info. that would be great it would be possible to use marc's kernel with sd ics builds.
at least, sense kernel we can use
I'm not sure how the whole SD boot is handled but could try going to services -> Dump dmesg to sd in Magldr after the reboot?

[KERNEL] Khaon's Kernel ♦ F2FS ♦ LINARO 4.7.4 ♦03/04

Hello everyone!! Want to try f2fs on your device? You are at the good place to give it a try!​
disclaimer said:
I am not responsible for any damage to your phone.
Read before downloading or posting in the thread:
Proceed with caution if you have no experience.
Click to expand...
Click to collapse
​
INTRODUCTION
I wanted to port f2fs for our device since it gives a nice performance boost. After few months of learning how to develop and program his own custom kernel here is my first personal release.
This is an open devDB xda project. Feel free to fill in bugs reports, feature(s) requests and reviews.
​
To those who don't know what is f2fs
F2FS (Flash-Friendly File System) is a flash file system created by Jaegeuk Kim (Hangul: 김재극) at Samsung for the Linux operating system kernel.[2]
The motive for F2FS was to build a file system that from the start takes into account the characteristics of NAND flash memory-based storage devices (such as solid-state disks, eMMC, and SD cards), which are widely used in computer systems ranging from mobile devices to servers.
Click to expand...
Click to collapse
Some benchmarks to point out the performance difference between EXT4 and F2FS
AndroGuide benchmarks : ext4 vs f2fs ( seemes to be using the most recent f2fs)
XDA's benchmark : ext4 vs f2fs
Phoronix's benchs ext4 vs btfrs vs f2fs
Another Phoronix's bench
Click to expand...
Click to collapse
Optipops features :
Kernel's features :​
Compiled with linaro 4.7.4 with optimized flags : O3, etc.
Linux 3.4.67: synced with cyanogen 's manta kernel git, google's common branch, some parts of the kernel updated to 3.4.108, and many fixes from CAF,linaro, blabla.
Governors : interactive, intelliactive,intellimm,conservative, ktoonservative , performance, userspace, nigtmahre(on request)(ask for some others if you prefer them over the one I provide)
I/O schedulers : noop, cfq, deadline, bfq(tweaked for nand devices),fiops,zen,sio
f2fs updated from upstream git(08 september 2015)
UV and OC both for the GPU AND CPU supported
Control for the gpu table thresholds
touchboost driver for cpu and gpu in replacement of crappy powerHAL touch interface ( thx @franciscofranco to have adapted qcom code to ageneric one)
arm optimized crypto algorithms.(for the ones that want to crypt their data)
f2fs crypto support
kernel neon support
kernel side touch boost driver
double tap to wake
AnyKernel2 Solution: Allow users to install the kernel on different distribution. It also detects the filesystem of your partitions to produce a correct fstab. ( f2fs is supported on any partition BUT system )
and many more patches(see my github!)
​installation instructions :​
Wipe Data Cache System
Flash The kernel
If issues are met, delete the
Code:
/sdcard/Android/data
folder.
IF YOU FACE ERROR/ISSUES PLEASE USE MY TWRP CUSTOM RECOVERIES AT this link
How To Migrate one partition from ext4 to f2fs(vice-versa):INSTRUCTIONS FOR TWRP 2.8.x.y
GunnerOnASpooky said:
1. Backup everything from your internal storage to your PC or what ever, if you are migrating /data partition,since the entire internal storage is going to get wiped out with format!!!!!!!!!!
2. Download the recovery from my gdrive
3. Flash the recovery from the bootloader (fastboot flash recovery XX.img)
4. Reboot into the newly flashed recovery
5. Choose wipe, advanced, then select the partition you want to change its filesystems
6. Choose the change file system option on the right
7. Select change file system again
8. Select f2fs(or ext4)
9. Repeat for all you wish to convert (I did system!/data/cache but /system partition should be working if you rom package flash extracts instead of flashing an image)
Click to expand...
Click to collapse
Credits:
@ktoonsez - for his kernel , KT- twrp and his work.
Team Win and @helicopter88 @Dees_Troy for their help.
Samsung for F2FS: heh!
@craigacgomez - for thunderkat kernel
@JustArchi - for his opti v3 build rom.
Cyanogendmod for their ROM
Linaro foundation for their toolchains
@faux123 for his intelliactive governor
@franciscofranco - for his work on touch boost drivers and mako kernel
@osm0sis - for AnyKernel2
Source:
KT-TWRP
kernel
Ramdisks
DOWNLOADS LINK​
XDA:DevDB Information
Khaon's project for Nexus 10, Kernel for the Google Nexus 10
Contributors
Khaon, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco
Source Code: https://github.com/Khaon/kernel_samsung_manta
Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5 It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more
Version Information
Status: Stable
Stable Release Date: 2015-01-03
Created 2014-09-27
Last Updated 2015-01-12
XDA:DevDB Information
Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10
Contributors
Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
Source Code: https://github.com/Khaon/kernel_samsung_manta
Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more
Version Information
Status: Stable
Stable Release Date: 2015-07-13
Beta Release Date: 2015-04-17
Created 2014-09-27
Last Updated 2015-09-06
XDA:DevDB Information
Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10
Contributors
Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
Source Code: https://github.com/Khaon/kernel_samsung_manta
Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more
Version Information
Status: Stable
Stable Release Date: 2015-09-08
Beta Release Date: 2015-04-17
Created 2014-09-27
Last Updated 2015-09-08
XDA:DevDB Information
Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10
Contributors
Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
Source Code: https://github.com/Khaon/kernel_samsung_manta
Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more
Version Information
Status: Stable
Stable Release Date: 2015-09-08
Beta Release Date: 2015-04-17
Created 2014-09-27
Last Updated 2016-04-02
Changelogs
Recommanded applications
Kernel Audiutor for kernel management. It supports for now all kernel features but gpu overclocking.
Changelogs
from 08/04 to 13/08
Merge remote-tracking branch 'exynos/android-exynos-manta-3.4-lollipop-mr1' into khaon-new
Merge remote-tracking branch 'common/android-3.4' into khaon-new
gpu:mali:dvfs:set gpu boost sysfs interface in msecs instead of usecs
mali:dvfs:enhanced gpu voltage control
defconfig:enabled f2fs crypto
f2fs:fix compilation errors when crypto is enabled
KEYS: Add invalidation support
f2fs: fix the prototype of find_target_dentry
Revert "vfs: make it possible to access the dentry hash/len as one 64-bit entry"
f2fs: import upstream sources
defconfig:compile nightmare governor
cpufreq:add nightmare governor drivers/cpufreq/Makefile
ipv6: clean up anycast when an interface is destroyed
ipv6: sysctl to restrict candidate source addresses
dt2w: enhancements to prevent the device to be all the time awake when dt2w is disabled
Merge remote-tracking branch 'common/android-3.4' into HEAD
Fix incorrect conflict resolution in "vfs: Add setns support for the mount namespace"
proc: fix build broken by proc inode per namespace patch
Revert "android: drivers: Fix build broken by android debugfs fix."
android: drivers: Fix build broken by android debugfs fix.
proc: Allow proc_free_inum to be called from any context
proc: Usable inode numbers for the namespace file descriptors.
proc: Fix the namespace inode permission checks.
proc: Generalize proc inode allocation
vfs: Allow unprivileged manipulation of the mount namespace.
vfs: Only support slave subtrees across different user namespaces
vfs: Add a user namespace reference from struct mnt_namespace
vfs: Add setns support for the mount namespace
consitify do_mount() arguments
do_add_mount()/umount -l races
fs: introduce inode operation ->update_time
VFS: Comment mount following code
VFS: Make clone_mnt()/copy_tree()/collect_mounts() return errors
get rid of magic in proc_namespace.c
get rid of ->mnt_longterm
vfs: umount_tree() might be called on subtree that had never made it
brlocks/lglocks: API cleanups
brlocks/lglocks: turn into functions
lglock: remove online variants of lock
Revert "vfs: umount_tree() might be called on subtree that had never made it"
android: drivers: workaround debugfs race in binder
Revert "android: drivers: workaround debugfs race in binder"
ipv4: Missing sk_nulls_node_init() in ping_unhash().
f2fs:fix for linux 3.4
remove permissive mode by default
fs: Introduce FALLOC_FL_ZERO_RANGE flag for fallocate
fs: Add new flag(FALLOC_FL_COLLAPSE_RANGE) for fallocate
f2fs: disable the discard option when device doesn't support
f2fs: fix a deadlock for summary page lock vs. sentry_lock
f2fs: recovering broken superblock during mount
f2fs: truncate data blocks for orphan inode
f2fs: fix building on 32-bit architectures
f2fs: avoid buggy functions
f2fs: add compat_ioctl to provide backward compatability
f2fs: do not issue next dnode discard redundantly
f2fs: add default mount options to remount
f2fs: report unwritten area in f2fs_fiemap
f2fs: avoid value overflow in showing current status
f2fs: support FALLOC_FL_ZERO_RANGE
f2fs: support FALLOC_FL_COLLAPSE_RANGE
f2fs: introduce f2fs_replace_block() for reuse
block: introduce the BFQ-v7r8 I/O sched for 3.4
cpufreq.h:correct the prototype of cpufreq_frequency_table *cpufreq_frequency_get_table_ordered
doubletap2wake:initial reworking
ptrace: fix ptrace defect cause by a merge fail
android: drivers: workaround debugfs race in binder
neigh: Better handling of transition to NUD_PROBE state
New Build Breakage in branch: kernel-m-dev-tegra-flounder-3.10 @ 1960706
Revert "double tap to wake initial introduction"
Revert "DT2W: give the capacity to wake to the driver and let the driver awake"
Merge remote-tracking branch 'common/android-3.4' into khaon-new
gpu:mali:add control for the gpu table and gpu boost duration, also decreased the gpu governor poll rate from 100 ms to 75 ms
gpu:mali:added an sysfs interface for the gpu boost freq
invensense: testBatchAndFlush CTS issues
selinux: enable per-file labeling for debugfs files.
suspend: Return error when pending wakeup source is found.
ipv4: Missing sk_nulls_node_init() in ping_unhash().
added a sysfs interface for the gpu voltage
build script updated
thermal: increased the start throlle a bit for the gpu and increase for the mem
gpu:reworked the voltage and increased voltage for the 864 cache speed
DT2W: give the capacity to wake to the driver and let the driver awake
net/unix: sk_socket can disappear when state is unlocked
selinux: enable genfscon labeling for sysfs and pstore files
selinux: enable per-file labeling for debugfs files.
selinux: correctly label /proc inodes in use before the policy is loaded
thermal:tmu-exynos:reworked slightly the driver
suspend: Return error when pending wakeup source is found.
gpu/cpu oc: little changes for the voltage
slight rework of compil flags
gpu oc: introduction of 667Mhz and 720Mhz steps
double tap to wake initial introduction
f2fs: fix counting the number of inline_data inodes
f2fs: don not re-lookup nat cache with same nid
f2fs: remove unneeded f2fs_make_empty declaration
f2fs: issue discard with finally produced len and minlen
f2fs: introduce discard_map for f2fs_trim_fs
f2fs: revmove spin_lock for write_orphan_inodes
f2fs: split find_data_page according to specific purposes
f2fs: add need_dentry_mark
f2fs: fix race on allocating and deallocating a dentry block
f2fs: introduce dot and dotdot name check
f2fs: move get_page for gc victims
f2fs: add sbi and page pointer in f2fs_io_info
f2fs: add f2fs_may_inline_{data, dentry}
f2fs: clean up f2fs_lookup
f2fs: introduce f2fs_commit_super
f2fs: add f2fs_map_blocks
f2fs: add feature facility in superblock
f2fs: move existing definitions into f2fs.h
f2fs: add missing version info in superblock
f2fs: fix not to check IS_ERR for null pointer
f2fs: make has_fsynced_inode static
f2fs: add offset check routine before punch_hole() in f2fs_fallocate()
f2fs: use is_valid_blkaddr to verify blkaddr for readability
f2fs: fix wrong error hanlder in f2fs_follow_link
Revert "f2fs: enhance multi-threads performance"
touchboost:increased the interval from 150ms to 300ms
build script updated
gpu:arm:mali:add input touchboost
SELinux: ss: Fix policy write for ioctl operations
seccomp: Replace BUG(!spin_is_locked()) with assert_spin_lock
nf: IDLETIMER: Adds the uid field in the msg
drbd: merge_bvec_fn: properly remap bvm->bi_bdev
writeback: fix a subtle race condition in I_DIRTY clearing
writeback: Move I_DIRTY_PAGES handling
input: evdev: Move wake_lock_destroy call
f2fs:sync with upstream branch
ipv4: Missing sk_nulls_node_init() in ping_unhash().
SELinux: ss: Fix policy write for ioctl operations
seccomp: Replace BUG(!spin_is_locked()) with assert_spin_lock
nf: IDLETIMER: Adds the uid field in the msg
VFS: Make more complete truncate operation available to CacheFiles
Merge remote-tracking branch 'common/android-3.4' into khaon-new
SELinux: use deletion-safe iterator to free list
subsystem: CPU FREQUENCY DRIVERS- Set cpu_load calculation on current frequency
gpu:mali:dvfs:reworked stock dvfs table
f2fs: flush symlink path to avoid broken symlink after POR
f2fs: avoid abnormal behavior on broken symlink
f2fs: change 0 to false for bool type
arm:midguard:fixed bus frequency for 533 mhz
kernel: add support for gcc 5
arm:midgard:decreased up threshold for gpu governor
vfs: check if f_count is 0 or negative
hrtimer: Prevent remote enqueue of leftmost timers
hrtimer: Prevent all reprogramming if hang detected
hrtimer: Set expiry time before switch_hrtimer_base()
sched/fair: Improve the ->group_imb logic
sched/fair: Revert sched-domain iteration breakage
sched/fair: Propagate 'struct lb_env' usage into find_busiest_group
sched/fair: Add some serialization to the sched_domain load-balance walk
sched/fair: Let minimally loaded cpu balance the group
sched: Change rq->nr_running to unsigned int
sched/fair: Implement fast idling of CPUs when the system is partially loaded
sched: Fix inaccurate accounting for real-time task
sched: Micro-optimize the smart wake-affine logic
sched: Implement smarter wake-affine logic
sched/idle: Avoid spurious wakeup IPIs
sched/__wake_up_sync_key(): Fix nr_exclusive tasks which lead to WF_SYNC clearing
Merge remote-tracking branch 'common/android-3.4' into khaon-new
SELinux: per-command whitelisting of ioctls
security: lsm_audit: add ioctl specific auditing
SELinux: Update policy version to support constraints info
SELinux: add default_type statements
SELinux: allow default source/target selectors for user/role/range
selinux: add SOCK_DIAG_BY_FAMILY to the list of netlink message types
selinux/nlmsg: add XFRM_MSG_MAPPING
selinux/nlmsg: add XFRM_MSG_MIGRATE
selinux/nlmsg: add XFRM_MSG_REPORT
selinux/nlmsg: add XFRM_MSG_[NEW|GET]SADINFO
selinux/nlmsg: add XFRM_MSG_GETSPDINFO
selinux/nlmsg: add XFRM_MSG_NEWSPDINFO
cpufreq:interactive:let's try those tunnables
08/03
kernel
squashed commits from upstream kernel revision:
blktrace: fix accounting of partially completed requests
block: fix a probe argument to blk_register_region
vfs,proc: guarantee unique inodes in /proc
mm: fix aio performance regression for database caused by THP
ASoC: wm_hubs: Add missing break in hp_supply_event()
ALSA: fix oops in snd_pcm_info() caused by ASoC DPCM
can: dev: fix nlmsg size calculation in can_get_size()
ipv4: fix ineffective source address selection
proc connector: fix info leaks
net: heap overflow in __audit_sockaddr()
net: do not call sock_put() on TIMEWAIT sockets
tcp: do not forget FIN in tcp_shifted_skb()
tcp: must unclone packets before mangling them
OOM, PM: OOM killed task shouldn't escape PM suspend
ALSA: pcm: use the same dma mmap codepath both for arm and arm64
random: add and use memzero_explicit() for clearing data
crypto: more robust crypto_memneq
vfs: fix data corruption when blocksize < pagesize for mmaped data
target: Fix queue full status NULL pointer for SCF_TRANSPORT_TASK_SENSE
block: fix alignment_offset math that assumes io_min is a power-of-2
fix misuses of f_count() in ppp and netlink
fs: make cont_expand_zero interruptible
fs: Fix theoretical division by 0 in super_cache_scan().
framebuffer: fix border color
power: charger-manager: Fix NULL pointer exception with missing cm-fuel-gauge
kvm: don't take vcpu mutex for obviously invalid vcpu ioctls
int_sqrt: Improve 3x faster integer sqrt.
net: ping: Return EAFNOSUPPORT when appropriate.
android: base-cfg: turn off /dev/mem and /dev/kmem
net: ipv6: make "ip -6 route get mark xyz" work.
Set the iif for IPv6 packets as well.
Merge remote-tracking branch 'common/android-3.4' into khaon-new
sched: Fix reference to stale task_struct in try_to_wake_up()
Merge remote-tracking branch 'common/android-3.4' into khaon-new
fs/proc/task_mmu.c: add user-space support for resetting mm->hiwater_rss (peak RSS)
gpu:mali:
reworked gpu governor table
fs:
f2fs:updatd to upstream revision
defconfig:
defconfig:enabled neon features
defconfig:add NTFS support
cpufreq:
cpufreq:ktoonservative:made touch boost smarter
cpufreq:interactive:increased DOWN_LOW_LOAD_THRESHOLD to 20%
Rom(changes from optipop official sources):
core:
Add support for exec command in init scripts.
init: Fix memory corruption when sanitizing platform paths
init: Do not call recursive_restorecon on soc.0
init: Make restorecon_recursive work for /data/
fs_mgr: Skip filesystem check unless fs_type matches
Add libminshacrypt static lib
device/manta:
fstab:removed fastboot and flush_merge mount options
twrp:added fstab and updated config
manta: Use better mount options
BoardConfig:enabled f2fs for userdata image
Audio proprietaries from stock ROM
Add support for more filesystems
Enabled BLE, GATT, SMP (bluetooth low-energy)
OTG USB storage support
Update full_manta properties
ART dex2oat optimisation properties
Final final final N5 wallpaper.
fstab: enabled f2fs support
enable inline kernel building
audio_effects:added support for viper4audio
post install validation:resize the system partition after installing the rom
added reboot to recovery button and screenshot in the power menu
manta: add GlobalActionList config
call my vendor script
enable translucent decor
Remove obsolete dalvik.gc.type-precise
manta: Enable libm optimizations
enabled optipop optimizations
power: updated to my personnal library
added twrp config for manta
TWRP 2.8.5.0:
switched to cm12's f2fs tools(1.4.1)
use my kernel instead of stock one with f2fs patches
16/02
Kernel changelog :
f2fs synced with latest revision
merged aosp new commits
reworked ktoonservative a bit
picked few patches from upstream 3.4.106 kernel
Click to expand...
Click to collapse
20/01
Hello little update to the kernel:
introduced 864 Mhz cache frequencies for 1.6+++ freq.
merged with google's androidd 3.4 branch: squashed the following commits:
Merge remote-tracking branch 'common/android-3.4' into lollipop
ARM: pull in <asm/simd.h> from asm-generic
ARM: be strict about FP exceptions in kernel mode
ARM: move VFP init to an earlier boot stage
crypto: create generic version of ablk_helper
ARM: add support for kernel mode NEON
crypto: sha - Handle unaligned input data in generic sha256 and sha512.
crypto: sha512_generic - set cra_driver_name
crypto: sha512 - Expose generic sha512 routine to be callable from other modules
crypto: create generic version of ablk_helper
defconfig updated:enabled arm crypto
KEYS: Provide signature verification with an asymmetric key
KEYS: Asymmetric public-key algorithm crypto key subtype
KEYS: Implement asymmetric key type
crypto: add crypto_[un]register_shashes for [un]registering multiple shash entries at once
ARM: 8120/1: crypto: sha512: add ARM NEON implementation
ARM: 8119/1: crypto: sha1: add ARM NEON implementation
ARM: 8118/1: crypto: sha1/make use of common SHA-1 structures
crypto: arm-aes - fix encryption of unaligned data
CRYPTO: Fix more AES build errors
ARM: add .gitignore entry for aesbs-core.S
ARM: add support for bit sliced AES using NEON instructions
ARM: move AES typedefs and function prototypes to separate header
ARM: 7837/3: fix Thumb-2 bug in AES assembler code
ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling
ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible
arm/crypto: Add optimized AES and SHA1 routines
sync with f2fs upstream branch
squashed few commits from CAF:
mm: vmscan: lock page on swap error in pageout
Staging: android: binder: More offset validation
Input: Send events one packet at a time
binder: NULL pointer reference
staging: binder: add vm_fault handler
staging: binder: Change binder mutex to rtmutex.
report if instablity!
02/01
khaon said:
kernel:
cpufreq:
cpufreq: Retain only online cpus in managed_policy->cpus
cpufreq:interactive:reworked tunnables
cpufreq:interactive: making sure cpufreq stays low when it needs to stay low
cpufreq:interactive:switched to touchboost driver
cpufreq: interactive: prevents the frequency to directly raise above the hispeed_freq from a lower frequency.
cpufreq: interactive: don't skip waking up speedchange_task if target_freq > policy->cur
cpufreq: interactive: delete timers for GOV_START
cpufreq: interactive: Fix null pointer dereference in interactive governor
cpufreq: interactive: Remove unnecessary cpu_online() check
cpufreq:ktoonservative:switch to generic input touchboost driver
Tweaks on OC (from @ktoonsez )
Makefile:
Makefile:removed graphite flags
exynos:
exynos:increased thermald throttling temp
drivers:
input: touchboost: add my generic touchboost driver governor agnostic. Its slightly changed from my N5, N4 and N7 version to adapt to this arch ( from @franciscofranco )
filesystems:
f2fs:sync with upstream branch
frandom: A fast random number generator
block:
block:bfq:adjusted tunnables for nand devices
block:bfq v7r7 v7r7: . BUGFIX: Prevent the OOM queue from being involved in the queue cooperation mechanism. In fact, since the requests temporarily redirected to the OOM queue could be redirected again to dedicated queues at any time, the state needed to correctly handle merging with the OOM queue would be quite complex and expensive to maintain. Besides, in such a critical condition as an out of memory, the benefits of queue merging may be little relevant, or even negligible. . IMPROVEMENT: Let the OOM queue be initialized only once. Previously, the OOM queue was reinitialized, at each request enqueue, with the parameters related to the process that issued that request. Depending on the parameters of the processes doing I/O, this could easily cause the OOM queue to be moved continuously across service trees, or even across groups. It also caused the parameters of the OOM queue to be continuously reset in any case. . CODE IMPROVEMENT. Performed some minor code cleanups, and added some BUG_ON()s that, if the weight of an entity becomes inconsistent, should better help understand why.
kernel:
sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire. From http://ripke.com/loadavg/moire
Merge remote-tracking branch 'common/android-3.4' into khaon-new
Rom:
build:use a modular list to disable O3 optimizations (fixes for example blue tooth crashes, report any new other FC's, if they related to the optimizations flags, I can try tracking down the relevant module and add it to the list.
audio_effects:added support for viper4audio
power: removed touch screen boost's code because we use kernel side touch boost driver
Click to expand...
Click to collapse
khaon said:
19/12
khaon said:
Rom:
powerHAL: reworked the driver to prevent overriding user's CPU freq speed to 1.7GHz.
powerHAL: reworked the driver to break early on screen interaction if the current cpu governor is not interactive
build:clang: compile the rom with Ofast instead of O3 ( since this flag enables ffast-math, it violates IEEE, thus it may bring instability or decrease in performance, report weird behaviour.
Kernel:
ext4 updated to 3.4.105
frandom in replacement for random and uradom
thermal throttling: squashed @ktoonsez thermal algorithm
various cherry-picking from 3.4.105 kernel and from linux kernel upstream(include among other lz4 up to date, various arm patches, few patches
Anykernel:
Full switching to anykernel2 solution by osmosis:
patch the fstab upon flashing the zip package accordingly to your partitions' file systems
post-init script added to tweak vm,io,sched,...
Click to expand...
Click to collapse
19/11
khaon said:
Changelog
TWRP: added unofficial 2.8.1.0 build supporting f2fs
Click to expand...
Click to collapse
20/10
khaon said:
Changelog
ROM:
20/10 unoficial nightly compiled with linaro 4.8.4 with this build
Shipped with my linux mainline kernel
Kernel :
updated to Linux3.4.104
sync with google's kernel 3.4 banch
sync with f2fs branch
frandom: A fast random number generator as a kernel module for Linux.
mm: Added file system dynamic read-ahead (Credits to Chad Gooldman)
block:bfq:updated to v7r6
Click to expand...
Click to collapse
23/09/14
Linux 3.4.103
Makefile : compiling with graphite
frandom: A fast random number generator as a kernel module for Linux.
Vibration interface goes LIVE
Click to expand...
Click to collapse
F2FS :
f2fs: refactor flush_nat_entries to remove costly reorganizing ops
f2fs: introduce FITRIM in f2fs_ioctl
f2fs: introduce cp_control structure
f2fs: use more free segments until SSR is activated
f2fs: change the ipu_policy option to enable combinations
f2fs: fix to search whole dirty segmap when get_victim
f2fs: fix to clean previous mount option when remount_fs
f2fs: skip punching hole in special condition
f2fs: support large sector size
f2fs: fix to truncate blocks past EOF in ->setattr
f2fs: update i_size when __allocate_data_block
f2fs: use MAX_BIO_BLOCKS(sbi)
f2fs: remove redundant operation during roll-forward recovery
f2fs: do not skip latest inode information
f2fs: fix roll-forward missing scenarios
f2fs: fix conditions to remain recovery information in f2fs_sync_file
f2fs: introduce a flag to represent each nat entry information
f2fs: use meta_inode cache to improve roll-forward speed
f2fs: fix double lock for inode page during roll-foward recovery
f2fs: fix a race condition in next_free_nid
Click to expand...
Click to collapse
Merge remote-tracking branch 'common/android-3.4' into origin/google_mainline:
seccomp: Use atomic operations that are present in kernel 3.4.
seccomp: implement SECCOMP_FILTER_FLAG_TSYNC
introduce for_each_thread() to replace the buggy while_each_thread()
seccomp: allow mode setting across threads
seccomp: introduce writer locking
seccomp: split filter prep from check and apply
sched: move no_new_privs into new atomic flags
ARM: add seccomp syscall
seccomp: add "seccomp" syscall
seccomp: split mode setting routines
seccomp: extract check/assign mode helpers
seccomp: create internal mode-setting function
MAINTAINERS: create seccomp entry
CHROMIUM: ARM: r1->r0 for get/set arguments
CHROMIUM: seccomp: set -ENOSYS if there is no tracer
CHROMIUM: ARM: arch/arm: allow a scno of -1 to not cause a SIGILL
CHROMIUM: arch/arm: select HAVE_ARCH_SECCOMP_FILTER
CHROMIUM: arch/arm: move secure_computing into trace; respect return code
CHROMIUM: arch/arm: add asm/syscall.h
samples/seccomp: fix dependencies on arch macros
seccomp: fix build warnings when there is no CONFIG_SECCOMP_FILTER
seccomp: ignore secure_computing return values
seccomp: use a static inline for a function stub
Documentation: prctl/seccomp_filter
Fix execve behavior apparmor for PR_{GET,SET}_NO_NEW_PRIVS
Add PR_{GET,SET}_NO_NEW_PRIVS to prevent execve from granting privs
Click to expand...
Click to collapse
13/09/14 :
Recovery:
Added twrp-2.8.0.0 supporting mounting f2fs partitions
Click to expand...
Click to collapse
Ramdisk :
[
sync with cm
using lz4 compression algorithm for both ramdisk and kernel image
unified all version into a single kernel : at boot a script check which is the fs of each partition
Click to expand...
Click to collapse
Khaon's kernel :
added lz4 kernel support for decompression
f2fs synced with upstream dev branch.
ARM :
optimized AES and SHA1 routines
sha1: add ARM NEON implementation
support neon in kernel
commits from former kernels
commits from linux/master, google's kernel/common, cyanogenmod's manta branches.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Reserved
Reserved
Thanks a lot for your work.
I'll try it with CM asap.
For more download convenience, can you upload an all-in-one zip with recovery and the 2 kernel somewhere else than github, it could be difficult to download from there. Thanks again.
yeah, i ll put it on mediafire.
Khaon said:
yeah, i ll put it on mediafire.
Click to expand...
Click to collapse
Awesome work man!
F2FS fully working on System/Data/Cache with SlimKat 5.8 weekly 4.4.3 and your F2FSall Ktoonsez kernel...
Nexus 10 is flying now!
EDIT: I'm getting a bunch of freeze-ups which result into reboots, is this happenng to anyone else?
Steps i took:
fastboot flashed kt-twrp
changed settings (including /system)
wiped what needed to be wiped
replaced Rom script( SlimKat weekly build 4.4.3)
installed rom, correct kernel, and gapps
Any advice would be appreciated!
I have some pb too. It's quite impossible for me to copy something from my usb stick to the internal memory. It freezes almost every time.
No problem in ext4 with same ROM.
Only problems I encountered were freezes/reboots for the very first hours of use, been so far in full f2fs with cyanogen M7 no probs here.
However, did you try with only cache+data partition?
Yep, I was on cm nightlies and data/cache only.
Now I'm trying omni, I will try with this ROM
Could you paste the content of the fstab please?
Envoyé de mon MI 2S en utilisant Tapatalk
About the fstab: What updates the fstype for the partitions we choose to convert to F2FS? Is TWRP 'smart' enough to write the proper /fstab.manta? I thought the boot.img in the ROM zip contained this file?
Really excited to switch to F2FS, I've been running it on my Arch boxes for a while now. Anyone worked on an auto updater for the updater-script? I'm on OmniROM and flash daily so it would be nice to not have to hand edit and re-pack the zip every day. I'd look into doing it but I'm not super confident I'd go about it the proper way.
b1g.p0ppa said:
About the fstab: What updates the fstype for the partitions we choose to convert to F2FS? Is TWRP 'smart' enough to write the proper /fstab.manta? I thought the boot.img in the ROM zip contained this file?
Really excited to switch to F2FS, I've been running it on my Arch boxes for a while now. Anyone worked on an auto updater for the updater-script? I'm on OmniROM and flash daily so it would be nice to not have to hand edit and re-pack the zip every day. I'd look into doing it but I'm not super confident I'd go about it the proper way.
Click to expand...
Click to collapse
For now, TWRP can detect when you are wiping your partition what tools it would has to use. I.e : if you choose to wipe data partition, system, etc.
And use the correct tool accordingly. But official version do not mount yet however f2fs partition.
The fstab is in the ramdisk, so contained yep in the boot.img. But there are few mount options, some may need to be activated in case of unstability
Khaon said:
For now, TWRP can detect when you are wiping your partition what tools it would has to use. I.e : if you choose to wipe data partition, system, etc.
And use the correct tool accordingly. But official version do not mount yet however f2fs partition.
The fstab is in the ramdisk, so contained yep in the boot.img. But there are few mount options, some may need to be activated in case of unstability
Click to expand...
Click to collapse
Thank you for your reply. Perhaps the best thing is to create a flashable zip to be run after ROM flash to install fstab.manta?
Also, FWIW, here's some sed commands to update your updater-script per the instructions in the OP:
Code:
sed -i 's/^mount("ext4".*\/system*/run_program\("\/sbin\/busybox", "mount", "\/system"); /' updater-script
sed -i 's/^format("ext4".*\/system*/run_program("\/sbin\/mkfs.f2fs", "\/dev\/block\/platform\/dw_mmc.0\/by-name\/system"); /' updater-script
b1g.p0ppa said:
Thank you for your reply. Perhaps the best thing is to create a flashable zip to be run after ROM flash to install fstab.manta?
Also, FWIW, here's some sed commands to update your updater-script per the instructions in the OP:
Code:
sed -i 's/^mount("ext4".*\/system*/run_program\("\/sbin\/busybox", "mount", "\/system"); /' updater-script
sed -i 's/^format("ext4".*\/system*/run_program("\/sbin\/mkfs.f2fs", "\/dev\/block\/platform\/dw_mmc.0\/by-name\/system"); /' updater-script
Click to expand...
Click to collapse
Hello I just added some executable java program that convert a rom script to be f2fs compatible.
Also, having less issues with lastest kernel build but I tried it on new roms. ROMs fully working so far and stable : liquidSmooth 3.1 & slimkat 4.9.
Before I was using CM11 M7 it was working but was encoutering some freezes/reboot- especially at the beginning - but then it was ok. I can not tell if this is still happening with cm rom.
I haven't test the pc program on windows if anyone could say it does work, thx!
EDIT : thank to @dust40; he told me the tool was working on Windows as well! Should work on mac too then i guess.
Well I successfully converted /data and cache to F2FS. I made the effort way more work than it had to be by preserving my data. WAY more work. Booted in recovery mode I tar'ed up /data to a exfat formatted usb-otg drive then ran the conversion. Ran into 'value too large for defined data type' errors from tar when extracting. I ended up extracting the tarball onto my workstation, deleting the file it crapped out on, tar'ing it all back up to the usb drive and re-running the extraction. Had to repeat this procedure a good dozen times and I ended up with messed up permissions on all my data. I don't suggest anyone try this because it would have taken much less time to just set up a fresh installation, but if you do here's some good commands to fix up permissions (TWRP's fix permissions command doesn't fix what I messed up). I found these commands at http://forum.xda-developers.com/showthread.php?t=2222297 but had to adjust them a little bit. The chown command has to be run when booted to android, the chmod commands can be run from either recovery or android. Reboot immediately after running. Best to run through adb shell than in an app on the tablet.
Code:
find /data/media/ -exec chown 1023,1023 {} \;
find /data/media/ -type d -exec chmod 775 {} \;
find /data/media/ -type f -exec chmod 664 {} \;
@Khaon, can you ask ktoonsez to compile 4.4.4 versions of the kernels? Latest OmniROM update for manta is 4.4.4 but will not boot with this kernel. And obviously I cannot run any other kernel as none others support F2FS. Thanks in advance! And thanks for putting this thread together. Without your good instructions I probably wouldn't have had the guts to convert this early.
One last thing, I can report that OmniROM works perfectly with /data and cache formatted as F2FS (once permissions are set right!). And since I preserved my data I have an apples to apples comparison of performance and it is noticeably faster and smoother!
kt-recovery stuck at splash screen
Hi,
I had originally posted this in ktmanta thread:
I have been running F2FS on cache+data for past 2 weeks and it works very well (still some strange system freezes, i will need to investigate further on that).
However, now, when i boot to recovery, screen stays stuck at splash screen showing "f2fs enabled by Ktoonsez..", and does not go anywhere else. i can still flash using adb, but clearly, it's less than convenient, and using twrp 2.7.10 is not an option, as it can't mount f2fs sdcard properly anyways.
with adb shell, i can see that all is mounted properly, f2fs or not, but obviously, it's less than ideal... i have attached /cache/recovery/log file .
Note: i connect usb cable 2 to 3 mn after waiting for splash screen to go away, and i pulled recovery log at that moment. this was also the only way to get out of this stuck mode, via 'adb reboot' command.
i also tried to re-flash recovery via fastboot, but that made no difference.
any help appreciated !
@ericp2 @b1g.p0ppa
Can you just try this recovery and tell me if you are running any issue? This is just last official twrp 2.7.1.0.
Just formated and installed a new ROM, ran into no issue, guess should be the same for you .
b1g.p0ppa said:
Well I successfully converted /data and cache to F2FS. I made the effort way more work than it had to be by preserving my data. WAY more work. Booted in recovery mode I tar'ed up /data to a exfat formatted usb-otg drive then ran the conversion. Ran into 'value too large for defined data type' errors from tar when extracting. I ended up extracting the tarball onto my workstation, deleting the file it crapped out on, tar'ing it all back up to the usb drive and re-running the extraction. Had to repeat this procedure a good dozen times and I ended up with messed up permissions on all my data. I don't suggest anyone try this because it would have taken much less time to just set up a fresh installation, but if you do here's some good commands to fix up permissions (TWRP's fix permissions command doesn't fix what I messed up). I found these commands at http://forum.xda-developers.com/showthread.php?t=2222297 but had to adjust them a little bit. The chown command has to be run when booted to android, the chmod commands can be run from either recovery or android. Reboot immediately after running. Best to run through adb shell than in an app on the tablet.
Code:
find /data/media/ -exec chown 1023,1023 {} \;
find /data/media/ -type d -exec chmod 775 {} \;
find /data/media/ -type f -exec chmod 664 {} \;
One last thing, I can report that OmniROM works perfectly with /data and cache formatted as F2FS (once permissions are set right!). And since I preserved my data I have an apples to apples comparison of performance and it is noticeably faster and smoother!
Click to expand...
Click to collapse
Glad you like the kernel running this, if I understood correctly, you wanted to back up the internal storage( so /data/media/0) and your apk folder to an exfat usb drive you mounted with otg? If the fs of this one was exfat that is probably the cause of your issues, I am not even sure our tablet nativly supports exfat( isn't a samsung fs that allows 32GB ++ partition size?). Lastest Omni kernel is booting I assume?
Khaon said:
@ericp2 @b1g.p0ppa
Can you just try this recovery and tell me if you are running any issue? This is just last official twrp 2.7.1.0.
Just formated and installed a new ROM, ran into no issue, guess should be the same for you .
Click to expand...
Click to collapse
Issue fixed. this version of TWRP starts correctly, and f2fs formatted sdcard can be listed, so i can again flash CM updates.
many thanks!

[KERNEL][3.4.106][KK][ION] K^Kernel 3.4.106 v3.0 for KK 4.4 [05/04/2015][EOL]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
In this thread you may find my customized kernel 3.4.x for KitKat rom (CM 11.0 and derivatives) that use ION+PMEM ADSP memory allocations.
Of course, your feedback, as always, are welcome and certainly valuable.
The main features are the following:
- Kernel 3.4.x
- Kernel based on more updated kk_2.7-stable branch of CAF (Code Aurora Forum)
- Sources synched with cm-11.0 repo branch of DevCon Team
- Built with my custom Linaro 4.9.3-2015.03 toolchain optimized for Cortex-A8
- Built with Cortex-A8 and NEON VFP optimization flags (both kernel and modules)
- Built with -O3 optimization flag (both kernel and modules)
- CPU overclockable up to 1824 MHz
- CPU frequencies undervolted (UV version) or extremely undervolted (EXUV version)
- CPU voltage control VDD sys interface (click for more details)
- Dynamic memory allocation of MM ION heap through CMA (Contiguous Memory Allocator)
- Dynamic memory allocation of PMEM ADSP heap through CMA (Contiguous Memory Allocator)
- 396MB, 406MB or 416MB of free RAM
- Init.d support
- Fast Charge support (default disabled, click for more details)
- Battery Life eXtender support (default disabled, click for more details)
- Ram Console support (click for more details)
- TRIM support
- USB OTG support (if also implemented on rom side)
- Lowered display panel voltage
- Lowered vibetonz voltage
- Lowered wifi voltage
- Lowered swappiness (60 -> 45)
- Increased CPU frequency during boot
- Optimized AES and SHA1 routines for ARM cpu architecture
- Fixed 100% battery notification after charger unplug
- Increased audio volume on board side
- Con Kolivas' CK3 Tweaks
- Optimized SLUB memory allocator
- Optimized ARM RWSEM (read/write semaphore) algorithm
- Optimized asynchronous I/O latency on solid state disks
- Disabled Gentle Fair Sleepers for better UI performance
- CIFS support on boot
- Memory compaction
- Dynamic compression of clean pagecache pages
- Fast Random generator (frandom) support (click for more details)
- Dynamic FSync v1.2 (click for more details)
- Dynamic dirty page writebacks (click for more details)
- VM tweaks for performance and less battery consumption
- Revised LowMemoryKiller parameters for better performance (click for more details)
- Timer slack controller (click for more details)
- Dynamic management of the minimal timer slack value during suspend/resume (click for more details)
- LowMemoryKiller management of not killable processes (click for more details)
- exFAT support
- Additional TCP Congestion algorithms
- Updated ZRam, ZSMalloc, ZCache built-in modules
Available CPU governors:
- Adaptive
- BrazilianWax
- Conservative
- Hyper
- Intellidemand
- Interactive
- InteractiveX
- LionHeart
- LulzActive
- OnDemand (default)
- OnDemandX
- Performance
- Powersave
- SmartAssV2
Available I/O schedulers:
- BFQ
- CFQ
- Deadline
- Fiops
- Noop
- ROW (default)
- SIO
- V(R)
Kernel Downloads for KitKat ION+PMEM ADSP:
K^Kernel KK-4.4 Mediafire Folder
[QRCODE]https://www.mediafire.com/folder/j5xjtz6twze6l[/QRCODE]
- v3.0 -
for CM 11.0
and the other roms based on this rom.
Note: You must use the CWM recovery with new partition assignments you may find inside CM 11.0 thread by arco68.​
Howto install the kernel:
1) Download the preferred kernel zip file to sdcard or external sdcard
2) Reboot to recovery mode
3) Flash the kernel zip file
4) Reboot the system[/B]
Kernel sources (on GitHub):
Development branch of K^Kernel 3.4 for KK 4.4 ION+PMEM ADSP
​
Useful info:
- Special features and sysfs settings
- Frequently asked questions
​
Tables:
​
Changelog:
Code:
[B]05/04/2015 - K^Kernel 3.4 v3.0 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.106
- Built with my latest custom Linaro 4.9.3-2015.03 toolchain optimized for Cortex-A8
- i2c: chips: fsa9480: Add support for charging in USB-OTG mode (credits to tobigun)
- i2c: chips: fsa9480: Add write-permission for USB-OTG charger type (credits to tobigun)
- Staging: android: binder: More offset validation. (credits to Arve Hjonnevag)
- fs: f2fs: Initial import from https://kernel.googlesource.com (credits to arco68)
- defconfig: Enable F2FS filesystem (credits to arco68)
- defconfig: Switch to ROW I/O scheduler as default (credits to Christopher83)
- HID: input: generic hidinput_input_event handler (credits to David Herrmann)
- cpufreq: Avoid using global variable total_cpus (credits to Ruchi Kandoi)
- net/ping: handle protocol mismatching scenario (credits to Jane Zhou)
- net: ipv6: allow choosing optimistic addresses with use_optimistic (credits to Erik Kline)
- netfilter: IDLETIMER: fix invalid deference of timer (credits to JP Abgrall)
- prctl: make PR_SET_TIMERSLACK_PID pid namespace aware (credits to Micha Kalfon)
- crypto: arm-aes - fix encryption of unaligned data (credits to Mikulas Patocka)
- ARM: 8118/1: crypto: sha1/make use of common SHA-1 structures (credits to Jussi Kivilinna)
- ARM: 8119/1: crypto: sha1: add ARM NEON implementation (credits to Jussi Kivilinna)
- ARM: 8120/1: crypto: sha512: add ARM NEON implementation (credits to Jussi Kivilinna)
- defconfig: Enable NEON optimized SHA1 crypto routines (credits to Christopher83)
- defconfig: Build QCOM crypto device as built-in (credits to Christopher83)
- pstore: selinux: add security in-core xattr support for pstore and debugfs (credits to Mark Salyzyn)
- KEYS: close race between key lookup and freeing (credits to Sasha Levin)
- msm_fb: Fix RGB pipe offset issue (credits to Blefish)
- msm: mdp.c fix deadlock which causes blue screen (credits to Vinu Deokaran)
- msm: rq_stats: Use cpufreq API to get the current frequency (credits to Archana Sathyakumar)
- staging: android: ashmem: add missing include (credits to Rom Lemarchand)
- net: wireless: bcmdhd: Remove WLAN_CIPHER_SUITE_AES_CMAC advertisement (credits to Dmitry Shmidt)
- gpu: ion: Refactor locking (credits to Srinivasarao P)
- gpu: ion: use a list instead of a tree for heap debug memory map (credits to Srinivasarao P)
- gpu: ion: fix locking issues in debug code (credits to Mitchel Humpherys)
- gpu: ion: add locking to traversal of volatile rb tree (credits to Srinivasarao P)
- gpu: ion: Delete invalid extra file (credits to Pradosh Das)
- drivers: video: msm: Cleanup some dead codes (credits to sirmordred)
- lz4: Revert previously applied commits (credits to Christopher83)
- decompressor: add LZ4 decompressor module (credits to Kyungsik Lee)
- lib: add support for LZ4-compressed kernel (credits to Kyungsik Lee)
- lib: add lz4 compressor module (credits to Chanho Min)
- lib/lz4: correct the LZ4 license (credits to Richard Laager)
- lz4: fix compression/decompression signedness mismatch (credits to Sergey Senozhatsky)
- lz4: ensure length does not wrap (credits to Greg Kroah-Hartman)
- lz4: fix another possible overrun (credits to Greg Kroah-Hartman)
- lz4: add overrun checks to lz4_uncompress_unknownoutputsize() (credits to Greg Kroah-Hartman)
- Update zram and zsmalloc up-to 3.17 kernel changes (credits to sirmordred)
- msm7x30: Remove high memory configurations (credits to Christopher83)
- msm7x30: Change all heap types to CMA (credits to sirmordred)
- msm7x30: Workaround deep sleep issue (credits to Christopher83)
- msm7x30: Increase ION memory heap for surfaceflinger (credits to Christopher83)
- defconfig: Update default and custom configurations (credits to Christopher83)
- f2fs: Sync F2FS to Jaegeuk's linux-3.4 branch (credits to Christopher83)
- selinux: fix inode security list corruption (credits to Stephen Smalley)
- ipv4: try to cache dst_entries which would cause a redirect (credits to Hannes Frederic Sowa)
- USB: android: release spinlock before queuing work in android_setup (credits to Tarun Gupta)
- usb: gadget: Ignore the second set_config from the host (credits to ChandanaKishori Chiluveru)
- usb: android: Skip the work when set_config arrives with same value twice (credits to ChandanaKishori Chiluveru)
- msm: camera: s5k4ecgx: Set mount angle from platform data (credits to sirmordred)
- USB: gadget: qdss: Fix strncmp length usage (credits to Kumar Gala)
- msm: camera: Increased MAX_PMEM_CFG_BUFFERS (credits to sirmordred)
- Set the iif for IPv6 packets as well. (credits to Lorenzo Colitti)
- net: ipv6: make "ip -6 route get mark xyz" work. (credits to Lorenzo Colitti)
- diag: Make fixes to diag_switch_logging (credits to Ravi Aravamudhan)
- seq_file: always update file->f_pos in seq_lseek() (credits to Devin Kim)
- cgroup: remove synchronize_rcu() from cgroup_attach_{task|proc}() (credits to Devin Kim)
- vfs: check if f_count is 0 or negative (credits to Shengzhe Zhao)
[B]31/12/2014 - K^Kernel 3.4 v2.0 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.105
- Built with my latest custom Linaro 4.9.3-2014.12 toolchain optimized for Cortex-A8
- Revert "prctl: adds the capable(CAP_SYS_NICE) check to PR_SET_TIMERSLACK_PID." (credits to arco68)
- Revert "prctl: adds PR_SET_TIMERSLACK_PID for setting timer slack of an arbitrary thread." (credits to arco68)
- Revert "Fix execve behavior apparmor for PR_{GET,SET}_NO_NEW_PRIVS" (credits to arco68)
- Revert "Add PR_{GET,SET}_NO_NEW_PRIVS to prevent execve from granting privs" (credits to arco68)
- prctl: adds PR_SET_TIMERSLACK_PID for setting timer slack of an arbitrary thread. (credits to Ruchi Kandoi)
- prctl: adds the capable(CAP_SYS_NICE) check to PR_SET_TIMERSLACK_PID. (credits to Ruchi Kandoi)
- mm: fix prctl_set_vma_anon_name (credits to Colin Cross)
- introduce for_each_thread() to replace the buggy while_each_thread() (credits to Oleg Nesterov)
- defconfig: Enable generic USB audio driver (credits to tobigun)
- i2c: chips: fsa9480: Add support for charging in USB-OTG mode (credits to tobigun)
- defconfig: Update default and custom defconfigs (credits to Christopher83)
[B]12/11/2014 - K^Kernel 3.4 v1.8.5 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.104
- Built with my latest custom Linaro 4.9.2-2014.10 toolchain optimized for Cortex-A8
- Revert "mm: Added filesystem dynamic read-ahead (Credits to Chad Gooldman)" (credits to tycoo)
- Update lcdc_samsung_ancora.h (credits to Madridii)
[B]26/10/2014 - K^Kernel 3.4 v1.8 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.104
- Built with my latest custom Linaro 4.9.2-2014.09 toolchain optimized for Cortex-A8
- Fix ancora and ancora_tmo vibrator regulators (credits to sirmordred)
- Revert "Staging: android: binder: More offset validation." (credits to arco68)
- msm: vidc: cache-flush encoder output buffers after alloc (credits to Praveen Chavan)
- seq_file: remove "%n" usage from seq_file users (credits to Tetsuo Handa)
- seq_file: introduce seq_setwidth() and seq_pad() (credits to Tetsuo Handa)
- vsprintf: ignore %n again (credits to Kees Cook)
- target/rd: Refactor rd_build_device_space + rd_release_device_space (credits to Nicholas Bellinger)
- board-ancora_tmo: Minor updates and changes (credits to doadin)
- block: row: Remove warning massage from add_request (credits to Tatyana Brokhman)
- Revert "Revert "mmc: core: remove the polling for BKOPS completion"" (credits to arco68)
- mmc: print an error on FLUSH timeout (credits to Maya Erez)
- mmc: block: flush request requeue after timeout. (credits to Maya Erez)
- mmc: core: increase timeout for disable cache operation (credits to Maya Erez)
- mmc: core: do not reinsert prepeared FUA and FLUSH requests in stop flow (credits to Konstantin Dorfman)
- mmc: queue: do not clean current request when urgent in progress (credits to Konstantin Dorfman)
- mmc: core: fix block request queue hang during data crc errors (credits to Sujit Reddy Thumma)
- mmc: core: continue to wait, when unblocked by signal (credits to Konstantin Dorfman)
- msm7x30: Revert SDC channels to upstream (credits to arco68)
- msm7x30: samsung: Remove PMIC_GPIO_SD_DET (credits to arco68)
- msm7x30: samsung: Disable sdc2_cfg_data (credits to arco68)
- msm7x30: samsung: Switch rest of boards to use msm_gpios_disable_free (credits to arco68)
- defconfig: Enable CONFIG_PM_RUNTIME (credits to arco68)
- fsa9480: corrected charging through USB 3.0 port also removed trailing spaces and some cleanups (credits to CastagnaIT)
- defconfigs: Updated defconfigs (credits to sirmordred)
- fm_si4709: samsung jb updates *GT-I9100 sources (credits to CastagnaIT)
- fs: exfat: Make optional (credits to arco68)
- defconfigs: Disable exFAT kernel driver (credits to arco68)
- msm: camera: Replace idle wakelocks with pm_qos (credits to arco68)
- touchscreen: ancora: Add INPUT_PROP_DIRECT flag (credits to sirmordred)
- msm: kgsl: Remove all reference to CONFIG_ANDROID_PMEM (credits to Laura Abbott)
- msm: Remove all references to CONFIG_ANDROID_PMEM (credits to Laura Abbott)
- msm: Remove PMEM dependency for MSM7KV2_AUDIO (credits to Michael Bestas)
- Revert "freezer: shorten freezer sleep time using exponential backoff" (credits to arco68)
- mmc: core: enhance card removal judgement for slow removal (credits to Kevin Liu)
- mmc: core: invoke low power mode if card is not present (credits to Asutosh Das)
- block: row: Fix crash when adding a new field in bio struct (credits to Tanya Brokhman)
[B]13/09/2014 - K^Kernel 3.4 v1.7 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.103
- Built with my latest custom Linaro 4.9.2-2014.08 toolchain optimized for Cortex-A8
- Removed bcmdhd driver (credits to CastagnaIT)
- net: wireless: bcmdhd: bring bcmdhd version 1.28-27 (credits to CastagnaIT)
- net: wireless: bcmdhd: Fix SUPPORT_PM2_ONLY option for p2p (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Update to version 1.88.4 (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Update to version 1.88.6 (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Update to version 1.88.7 (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Fix WEP-104 authentication (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Update to version 1.88.10 (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Prevent recursive call of cfg80211_sched_scan_stopped() (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Enable full scan on PNO event (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Update to version 1.88.11 (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Update to version 1.88.16 (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Close p2p0 device in wl_down (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Update to version 1.88.21 (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Fix tdls processing from cfg80211 (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Update to version 1.88.27 (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Fix NDO functionality (credits to ECCO PARK)
- net: wireless: bcmdhd: Enable p2p support bits for p2p device (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Remove PASS_ARP_PACKET define (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Remove chatty message from wl_cfgp2p_act_frm_search (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Update to version 1.88.41 (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Update to version 1.88.42 (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Update to version 1.88.45 (credits to Ecco Park)
- net: wireless: bcmdhd: enable WL_IFACE_COMB_NUM_CHANNELS (credits to Ecco Park)
- net: wireless: bcmdhd: Update Location Service code (credits to Ecco Park)
- net: wireless: bcmdhd: Fix of Wireless Location Service (credits to Ecco Park)
- net: wireless: bcmdhd: Fix of Wireless Location Service (credits to Ecco Park)
- net: wireless: bcmdhd: new feature for Roaming. (credits to Ecco Park)
- net: wireless: bcmdhd: Fixed Coverity issue. (credits to Ecco Park)
- net: wireless: bcmdhd: fix for negative padding (credits to Ecco Park)
- net: wireless: bcmdhd: Fixed Wi-Fi Location Service issues. (credits to Ecco Park)
- net: wireless: bcmdhd: add code for WLS service. (credits to Ecco Park)
- net: wireless: bcmdhd: Fix country checking (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: fixed power consumption issue of P2P. (credits to Ecco Park)
- net: wireless: bcmdhd: Fixed a problem of buganizer issue (11190960) (credits to Ecco Park)
- net: wireless: bcmdhd: reduced the wakelock time of RX packet (credits to Ecco Park)
- net: wireless: bcmdhd: cancel current PNO if connection will happen (credits to Ecco Park)
- net: wireless: bcmdhd: Change DTIM skip policy in suspend (credits to Ecco Park)
- net: wireless: bcmdhd: Set MAX_DTIM_ALLOWED_INTERVAL to 600 (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Enable IPv6 RA filter feature (credits to Ecco Park)
- net: wireless: bcmdhd: enable TDLS_auto_mode (credits to Ecco Park)
- net: wireless: bcmdhd: Sync with N5 branch (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Change the parameter for TDLS (credits to Ecco Park)
- net: wireless: bcmdhd: support Hotspot 2.0 release 1.0 (credits to Ecco Park)
- net: wireless: bcmdhd: Add WIPHY_WOWLAN_ANY support (credits to Dmitry Shmidt)
- net: wireless: bcmdhd: Add support for hidden ssid PNO scan (credits to Ashwin)
- net: wireless: bcmdhd: added samsung specific code (credits to CastagnaIT)
- net: wireless: bcmdhd: readded samsung MCAST_LIST_ACCUMULATION code updated from jf (credits to CastagnaIT)
- qdsp5v2: Fix a null pointer dereference. (credits to Blefish)
[B]11/09/2014 - K^Kernel 3.4 v1.6 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.103
- Built with my latest custom Linaro 4.9.2-2014.08 toolchain optimized for Cortex-A8
- drivers: usb: Use Android device as USB keyboard/mouse (credits to Pranav Vashi)
- touchscreen: ancora: Update touchscreen API (credits to sirmordred)
- touchscreen: ancora: Add missing BTN_TOUCH (credits to arco68)
- mmc: msm_sdcc: Remove unnecessary delay in interrupt context (credits to Venkat Gopalakrishnan)
- USB: msm_otg: Fix host mode suspend bug (credits to Sujeet Kumar)
- USB: msm_otg: Fix a bug in charger detection procedure (credits to Pavankumar Kondeti)
- msm: kgsl: Force the ME off before reading the microcode (credits to Jordan Crouse)
- msm: kgsl: Increase the timeout value for fault detection (credits to Shubhraprakash Das)
- msm: kgsl: Don't hold the refernce to the process private in kgsl create context (credits to Gaurav Gagrani)
- n_tty: Fix n_tty_write crash when echoing in raw mode (credits to Peter Hurley)
- msm_bam_rmnet: Fix potential memory corruption (credits to Subash Abhinov Kasiviswanathan)
- fs: exFAT: Update to v1.2.9 (credits to arco68)
- msm: qdsp5v2: Convert all audio devices to ION. (credits to Blefish)
- msm: qdsp5v2: Minor code sync. (credits to Blefish)
- devices-msm7x30: #ifdef around msm_nand device (credits to arco68)
- board-ancora: Minor updates and changes (credits to arco68)
- lcd: ancora: Adjust porch values for rev. 2 panels (credits to arco68)
- lcdc:ancora:Adjust porch values for rev. 1 panels too (credits to arco68 and sirmordred)
[B]01/08/2014 - K^Kernel 3.4 v1.5 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.101
- Built with my latest custom Linaro 4.9.1-2014.07 toolchain optimized for Cortex-A8
- usb: gadget: f_accessory: Enabled Zero Length Packet (ZLP) for acc_write (credits to Anson Jacob)
- cgroup: Take css_set_lock from cgroup_css_sets_empty() (credits to Hans de Goede)
- cgroup: Fix use after free of cgrp (cgrp->css_sets) (credits to Hans de Goede)
- Revert "s3c2410_wdt: Add locking to cpu frequency transition notifier" (credits to Mark Salyzyn)
- usb: gadget: f_audio_source: Fixed USB Audio Class Interface Descriptor (credits to Anson Jacob)
- net: Zeroing the structure ethtool_wolinfo in ethtool_get_wol() (credits to Avijit Kanti Das)
- Remove stray bcm4329 files (credits to arco68)
- fs: exFAT: Update to v1.2.7 (credits to arco68)
- ARM: 7583/1: decompressor: Enable unaligned memory access for v6 and above (credits to Dave Martin)
[B]14/07/2014 - K^Kernel 3.4 v1.4 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.98
- Built with my latest custom Linaro 4.9.1-2014.06 toolchain optimized for Cortex-A8
- misc: pmem: Retry again a few times if DMA allocation fails (credits to Christopher83)
- defconfig: Disable KSM (credits to arco68)
- Revert "msm: mdp: Update sync pt. behaviour" (credits to arco68)
- cpufreq: Persist cpufreq time in state data across hotplug (credits to Ruchi Kandoi)
- prctl: adds the capable(CAP_SYS_NICE) check to PR_SET_TIMERSLACK_PID. (credits to Ruchi Kandoi)
- net: wireless: Increase scan entry expiration to fit new scan time (credits to Dmitry Shmidt)
- DMA: PL330: Fix racy mutex unlock (credits to Javi Merino)
- cpufreq: fix sleeping in atomic context when realloc freq_table for all_time_in_state (credits to Minsung Kim)
- s3c2410_wdt: Add locking to cpu frequency transition notifier (credits to Mark Salyzyn)
- net: core: Support UID-based routing. (credits to Lorenzo Colitti)
- Handle 'sk' being NULL in UID-based routing. (credits to Sreeram Ramachandran)
- rtc: alarm: Squashed revert of power-on alarm feature and related commits (credits to Christopher83)
- binder: search for receiving context pid in global namespace (credits to Ricardo Mendoza)
- staging: binder: add vm_fault handler (credits to Vinayak Menon)
- Staging: android: binder: More offset validation. (credits to Arve Hjønnevåg)
[B]05/07/2014 - K^Kernel 3.4 v1.3 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.96
- Built with my latest custom Linaro 4.9.1-2014.06 toolchain optimized for Cortex-A8
- block: bfq: Squashed update from BFQ-v7r4 to BFQ-v7r5 (credits to arco68)
- misc: pmem: Support for dynamic allocation through CMA (credits to Christopher83)
- msm7x30: Simplify the code for hybrid memory allocations on board side (credits to Christopher83)
- msm7x30: Allow to optionally enable the use of CMA for ION MM and PMEM ADSP heaps (credits to Christopher83)
- msm7x30: Use CMA for PMEM ADSP (credits to Christopher83)
- msm7x30: Update defconfigs (credits to Christopher83)
- msm7x30: Use a higher memory allocation if CMA is used for ION MM heap (credits to Christopher83)
[B]25/06/2014 - K^Kernel 3.4 v1.2 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.94
- Built with my latest custom Linaro 4.9.1-2014.06 toolchain optimized for Cortex-A8
- msm: rpc: add shutdown and restart handler for rpc (credits to Angshuman Sarkar)
- msm: rpc: add shutdown and restart handler for rpc (credits to Arun Kumar Neelakantam)
- msm: restart_7k: Disable local IRQ interrupt (credits to Tirupathi Reddy)
- msm7x30: Disable unsupported features (credits to Blefish)
- misc: pmem: Add support for CMA (credits to Blefish)
- msm7x30: Use CMA for PMEM ADSP (credits to Christopher83 and Blefish)
- New memory configurations with 396MB, 406MB or 416MB of free RAM and
everything should be working, including camera, camcorder and video playback (credits to Christopher83)
[B]23/06/2014 - K^Kernel 3.4 v1.1 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.94
- Built with my latest custom Linaro 4.9.1-2014.06 toolchain optimized for Cortex-A8
- power: ancora_battery: Remove trailing spaces (credits to Christopher83)
- power: ancora_tmo_battery: Remove trailing spaces (credits to Christopher83)
- power: apache_battery: Remove trailing spaces (credits to Christopher83)
- power: ancora_tmo_battery: Add Battery Life eXtender (BLX) support (credits to Christopher83)
- power: apache_battery: Add Battery Life eXtender (BLX) support (credits to Christopher83)
- power: apache_battery: 100% battery notification after charger unplug (credits to Christopher83)
- power: ancora_battery: Increase battery check interval from 5 seconds to 15 seconds (credits to Christopher83)
- power: ancora_tmo_battery: Increase battery check interval from 5 seconds to 15 seconds (credits to Christopher83)
- power: apache_battery: Increase battery check interval from 5 seconds to 15 seconds (credits to Christopher83)
- ancora_tmo: High memory configurations (credits to Christopher83)
- apache: High memory configurations (credits to Christopher83)
- msm7x30: Better manage cpu frequencies for MSM8255 and MSM8255T (credits to Christopher83)
- ancora_tmo: Add custom defconfigs (credits to Christopher83)
- apache: Add custom defconfigs (credits to Christopher83)
- arm: Add a config option to use GLibC memcpy and memmove versions (credits to Christopher83)
- msm7x30: Update defconfigs to use GLibC versions of memcpy and memmove (credits to Christopher83)
- mmc: msm_sdcc: Advertise erase capability for ancora_tmo and apache (credits to arco68)
- sec_jack: updated driver (credits to CastagnaIT)
- mm: cma: fix alignment requirements for contiguous regions (credits to Marek Szyprowski)
- drivers: cma: represent physical addresses as phys_addr_t (credits to Vitaly Andrianov)
- drivers: dma-contiguous: refactor dma_alloc_from_contiguous() (credits to Michal Nazarewicz)
- mm: cma: fix condition check when setting global cma area (credits to Marek Szyprowski)
- drivers: dma-contiguous: clean source code and prepare for device tree (credits to Marek Szyprowski)
- drivers: dma-contiguous: add initialization from device tree (credits to Marek Szyprowski)
- cma: Remove __init annotations from data structures (credits to Laura Abbott)
- cma: Fix up devicetree bindings (credits to Laura Abbott)
- cma: Add support for associating regions by name (credits to Laura Abbott)
- cma: Remove restriction on region names (credits to Laura Abbott)
- cma: use MEMBLOCK_ALLOC_ANYWHERE for placing CMA regions (credits to Laura Abbott)
- cma: Add API to get the start address of a CMA region (credits to Laura Abbott)
- cma: Remove potential deadlock situation (credits to Laura Abbott)
- cma: Add support for memory limits (credits to Laura Abbott)
- cma: Make locking finer grained (credits to Laura Abbott)
- cma: Drop the right mutex (credits to Laura Abbott)
- dma-contiguous: Return 'zero' pfn in case of error (credits to Chintan Pandya)
- ARM: dma-mapping: fix incorrect freeing of atomic allocations (credits to Aaro Koskinen)
- mm: vmalloc: use const void * for caller argument (credits to Marek Szyprowski)
- ARM: dma-mapping: remove custom consistent dma region (credits to Marek Szyprowski)
- mm: push lru index into shrink_[in]active_list() (credits to Konstantin Khlebnikov)
- mm: vmscan: remove lumpy reclaim (credits to Mel Gorman)
- mm: vmscan: do not stall on writeback during memory compaction (credits to Mel Gorman)
- mm: vmscan: remove reclaim_mode_t (credits to Mel Gorman)
- mm: remove lru type checks from __isolate_lru_page() (credits to Konstantin Khlebnikov)
- mm/memcg: kill mem_cgroup_lru_del() (credits to Konstantin Khlebnikov)
- mm/memcg: scanning_global_lru means mem_cgroup_disabled (credits to Hugh Dickins)
- mm/memcg: use vm_swappiness from target memory cgroup (credits to Konstantin Khlebnikov)
- mm: remove swap token code (credits to Rik van Riel)
- mm/vmscan: store "priority" in struct scan_control (credits to Konstantin Khlebnikov)
- kernel: cgroup: push rcu read locking from css_is_ancestor() to callsite (credits to Johannes Weiner)
- mm: memcg: count pte references from every member of the reclaimed hierarchy (credits to Johannes Weiner)
- mm/vmscan: push zone pointer into shrink_page_list() (credits to Konstantin Khlebnikov)
- mm/vmscan: push lruvec pointer into isolate_lru_pages() (credits to Konstantin Khlebnikov)
- mm/vmscan: remove update_isolated_counts() (credits to Konstantin Khlebnikov)
- mm: cma: discard clean pages during contiguous allocation instead of migration (credits to Minchan Kim)
- cma: decrease cc.nr_migratepages after reclaiming pagelist (credits to Minchan Kim)
- mm/compaction.c: fix deferring compaction mistake (credits to Minchan Kim)
- mm: compaction: Abort async compaction if locks are contended or taking too long (credits to Mel Gorman)
- mm: compaction: update comment in try_to_compact_pages (credits to Mel Gorman)
- mm: compaction: capture a suitable high-order page immediately when it is made available (credits to Mel Gorman)
- mm: compaction: abort compaction loop if lock is contended or run too long (credits to Shaohua Li)
- mm: compaction: move fatal signal check out of compact_checklock_irqsave (credits to Mel Gorman)
- mm: compaction: Update try_to_compact_pages()kerneldoc comment (credits to Mel Gorman)
- mm: compaction: acquire the zone->lru_lock as late as possible (credits to Mel Gorman)
- mm: compaction: acquire the zone->lock as late as possible (credits to Mel Gorman)
- mm: compaction: cache if a pageblock was scanned and no pages were isolated (credits to Mel Gorman)
- mm: cma: WARN if freed memory is still in use (credits to Marek Szyprowski)
- mm: do not use page_count() without a page pin (credits to Minchan Kim)
- mm: clean up __count_immobile_pages() (credits to Minchan Kim)
- mm: compaction: Restart compaction from near where it left off (credits to Mel Gorman)
- mm: compaction: clear PG_migrate_skip based on compaction and reclaim activity (credits to Mel Gorman)
- CMA: migrate mlocked pages (credits to Minchan Kim)
- mm: compaction: correct the nr_strict va isolated check for CMA (credits to Mel Gorman)
- mm: compaction: validate pfn range passed to isolate_freepages_block (credits to Mel Gorman)
- mm: compaction: Move migration fail/success stats to migrate.c (credits to Mel Gorman)
- mm: compaction: Add scanned and isolated counters for compaction (credits to Mel Gorman)
- mm: cma: skip watermarks check for already isolated blocks in split_free_page() (credits to Marek Szyprowski)
- mm: compaction: partially revert capture of suitable high-order page (credits to Mel Gorman)
- compaction: fix build error in CMA && !COMPACTION (credits to Minchan Kim)
- mm: vmscan: do not keep kswapd looping forever due to individual uncompactable zones (credits to Johannes Weiner)
- mm: vmscan: Fix build error (credits to Christopher83)
- msm: Allow lowmem to be non contiguous and mixed. (credits to Neeti Desai)
- msm: Increase the kernel virtual area to include lowmem (credits to Neeti Desai)
- mm: Remove __init annotations from free_bootmem_late (credits to Laura Abbott)
- kernel/lib: add additional debug capabilites for data corruption (credits to Syed Rameez Mustafa)
- mm: panic on the first bad page table entry access (credits to Pushkar Joshi)
- mm: Update is_vmalloc_addr to account for vmalloc savings (credits to Laura Abbott)
- slub: tid must be retrieved from the percpu area of the current processor (credits to Christoph Lameter)
- mm: vmscan: Move pages that fail swapout to LRU active list (credits to Olav Haugan)
- mm: swap: Rate limit swap write errors (credits to Olav Haugan)
- mm: change freepage state correctly in __isolate_free_page (credits to Laura Abbott)
- mm: make is_vmalloc_addr lockless (credits to Laura Abbott)
- mm/compaction: Break out of loop on !PageBuddy in isolate_freepages_block (credits to Laura Abbott)
- mm: compaction: fix bit ranges in {get,clear,set}_pageblock_skip() (credits to Bartlomiej Zolnierkiewicz)
- msm: kgsl: hold a process_private refcount in process_mem_print (credits to Jeremy Gebben)
- msm: kgsl: Look up the process struct in process_mem_open() (credits to Jordan Crouse)
- msm: kgsl: prevent kgsl_get_pagetable from returning a destroyed pt (credits to Jeff Boody)
- msm: kgsl: Fix spinlock recursion in destroy pagetable (credits to Prakash Kamliya)
- gpu: ion: Don't call virt_to_page on addresses from dma_alloc (credits to Laura Abbott)
- gpu: ion: Explictly mark DMA allocations as GFP_KERNEL (credits to Laura Abbott)
[B]17/06/2014 - K^Kernel 3.4 v1.0 for KitKat ION+PMEM ADSP[/B]
- First release for Samsung Galaxy W (GT-I8150)
- Kernel 3.4.94
- Sources synched with cm-11.0 repo branch of DevCon Team
- Built with my latest custom Linaro 4.9.1-2014.06 toolchain optimized for Cortex-A8
- New kernel branch based on kk_2.7-stable branch of Code Aurora Forum
- Up to 406MB of free RAM thanks to the dynamic allocation via CMA of ION heap related to MM features (camcorder, video playback/recording/encoding)
- msm7x30: Use CMA for MM ION heap (credits to Christopher83)
- msm7x30: Update defconfigs to enable CMA (credits to Christopher83)
- mm: try_to_unmap_cluster() should lock_page() before mlocking (credits to Vlastimil Babka)
- msm:vidc: Amend error checks on ION API failures (credits to Maheshwar Ajja)
- ion: cma: Add debug heap ops for CMA heap (credits to Chintan Pandya)
- Makefile: Added compilation optimization flags (credits to Christopher83)
- arm: Fix compatibility with linaro toolchain (credits to CastagnaIT)
- arm: Added NEON compilation flag to VFP module (credits to Christopher83)
- acpuclock-7x30: Added overclocking and undervolting support (credits to Christopher83)
- acpuclock-7x30: Increased cpu frequency on boot (credits to Christopher83)
- block: fiops ioscheduler core (credits to Shaohua Li)
- block: fiops read/write request scale (credits to Shaohua Li)
- block: fiops sync/async scale (credits to Shaohua Li)
- block: fiops add ioprio support (credits to Shaohua Li)
- block: fiops preserve vios key for deep queue depth workload (credits to Shaohua Li)
- block: fiops bias sync workload (credits to Shaohua Li)
- block: fiops add some trace information (credits to Shaohua Li)
- block: Simple I/O scheduler (credits to Christopher83)
- block: V(R) I/O scheduler (credits to Christopher83)
- block: Reordered the I/O schedulers (credits to Christopher83)
- char: Added Fast Random generator support (frandom) (credits to Christopher83)
- cpufreq: CPU Voltage Control (VDD sysfs interface) (credits to Christopher83)
- cpufreq: Reordered the CPU governors (credits to Christopher83)
- cpufreq: InteractiveX CPU governor (credits to Christopher83)
- cpufreq: OnDemandX CPU governor (credits to Christopher83)
- cpufreq: Lionheart CPU governor (credits to Christopher83)
- cpufreq: SmartAssV2 CPU governor (credits to Christopher83)
- cpufreq: LulzActive CPU governor (credits to Christopher83)
- cpufreq: Adaptive CPU governor (credits to Christopher83)
- cpufreq: Hyper CPU governor (credits to Christopher83)
- cpufreq: BrazilianWax CPU governor (credits to Christopher83)
- cpufreq: Intellidemand CPU governor (credits to Christopher83)
- fs: Asynchronous I/O latency to a solid-state disk greatly increased (credits to Dave Kleikamp)
- fs/dyn_sync_cntrl: dynamic sync control (credits to faux123)
- fs/dyn_sync_cntrl: check dyn fsync control's active prior to performing fsync ops (credits to Andrew Bartholomew)
- fs/dyn_sync_cntrl: add some cache optimizations (credits to faux123)
- fs/dyn_sync_cntrl: add reboot notifier to force flush outstanding data (credits to faux123)
- fs/dyn_sync_cntrl: add kernel panic notifier to force flush outstanding data (credits to faux123)
- mm: Lowered swappiness 60->45 (credits to Christopher83)
- mm: Optimized SLUB memory allocator (credits to Christopher83)
- mm: Added filesystem dynamic read-ahead (Credits to Chad Gooldman) (credits to Christopher83)
- power: Added Battery Life eXtender (BLX) version 1 (Credits to Ezeekel) Adapted by Christopher83 for I9001 and I8150 devices - If the BLX charging limit is 100%, then the battery is fully charged as if the feature is not active - Wait some seconds after reaching the charging limit before stop the charging (credits to Christopher83)
- power: 100% battery notification after charger unplug (credits to Christopher83)
- rwsem: Optimized ARM RWSEM algorithm (credits to Ashwin Chaugule)
- rwsem-spinlock: Implement writer lock-stealing for better scalability (credits to Yuanhan Liu)
- rwsem: Implement writer lock-stealing for better scalability (credits to Alex Shi)
- rwsem: make the waiter type an enumeration rather than a bitmask (credits to Michel Lespinasse)
- rwsem: shorter spinlocked section in rwsem_down_failed_common() (credits to Michel Lespinasse)
- rwsem: move rwsem_down_failed_common code into rwsem_down_{read,write}_failed (credits to Michel Lespinasse)
- rwsem: simplify rwsem_down_read_failed (credits to Michel Lespinasse)
- rwsem: simplify rwsem_down_write_failed (credits to Michel Lespinasse)
- rwsem: more agressive lock stealing in rwsem_down_write_failed (credits to Michel Lespinasse)
- rwsem: use cmpxchg for trying to steal write lock (credits to Michel Lespinasse)
- rwsem: avoid taking wait_lock in rwsem_down_write_failed (credits to Michel Lespinasse)
- rwsem: skip initial trylock in rwsem_down_write_failed (credits to Michel Lespinasse)
- rwsem: simplify __rwsem_do_wake (credits to Michel Lespinasse)
- rwsem: implement support for write lock stealing on the fastpath (credits to Michel Lespinasse)
- rwsem: do not block readers at head of queue if other readers are active (credits to Michel Lespinasse)
- rwsem: no need for explicit signed longs (credits to Davidlohr Bueso)
- rwsem: check counter to avoid cmpxchg calls (credits to Davidlohr Bueso)
- sched: Disabled Gentle Fair Sleepers for better UI performance (credits to Christopher83)
- lib/memcopy: use glibc version (credits to Miao Xie)
- lib/string: use glibc version (credits to Miao Xie)
- mm: Dynamic management of dirty page writebacks (credits to Christopher83)
- fs: sync: Don't disable fdatasync() (credits to faux123)
- CK3 tweaks (Credits to Con Kolivas) (credits to Christopher83)
- hrtimer: Introduce effective timer slack (credits to Kirill A. Shutemov)
- hrtimer: Implement PR_GET_EFFECTIVE_TIMERSLACK (credits to Kirill A. Shutemov)
- cgroups: Introduce timer slack controller (credits to Kirill A. Shutemov)
- kernel: cgroup_timer_slack: Adaptations for 3.4 kernel (credits to Christopher83)
- kernel: cgroup_timer_slack: Dynamic management of timer slack (credits to Christopher83)
- staging: android: lowmemorykiller: Management of not killable processes (credits to Christopher83)
- fs/sync: Make sync() satisfy many requests with one invocation (credits to Paul E. McKenney)
- decompressor: Add LZ4 decompressor module (credits to Kyungsik Lee)
- lib: Add support for LZ4-compressed kernel (credits to Kyungsik Lee)
- arm: Add support for LZ4-compressed kernel (credits to Kyungsik Lee)
- lib: Add lz4 compressor module (credits to Chanho Min)
- crypto: Add lz4 Cryptographic API (credits to Chanho Min)
- lib/lz4/lz4_compress: fix macro usage error (credits to faux123)
- LZ4: compression/decompression signedness mismatch (v2) (credits to Sergey Senozhatsky)
- Makefile: Use -fno-inline-functions to build with Linaro GCC 4.8 toolchains (credits to Christopher83)
- acpuclock-7x30: Raised some standard UV and stock voltages for high OC cpu frequencies (credits to Christopher83)
- softirq: reduce latencies (credits to Eric Dumazet)
- fs: vfat: reduce the worst case latencies (credits to xiaogang)
- msm: kgsl: Add an input handler to power up the GPU on a touch event (credits to Tk-Glitch)
- ARM: be strict about FP exceptions in kernel mode (credits to mrg666)
- ARM: add support for kernel mode NEON (credits to mrg666)
- ARM: crypto: add NEON accelerated XOR implementation (credits to Ard Biesheuvel)
- ARM: 7835/2: fix modular build of xor_blocks() with NEON enabled (credits to Ard Biesheuvel)
- ARM: move VFP init to an earlier boot stage (credits to Ard Biesheuvel)
- ARM: Perform the creation of procfs node for VFP later (credits to Christopher83)
- ARM: only allow kernel mode neon with AEABI This prevents the linker erroring with: (credits to Russell King)
- ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible (credits to Dave Martin)
- ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling (credits to Ard Biesheuvel)
- ARM: 7837/3: fix Thumb-2 bug in AES assembler code (credits to Ard Biesheuvel)
- crypto: create generic version of ablk_helper (credits to Ard Biesheuvel)
- ARM: pull in <asm/simd.h> from asm-generic (credits to Ard Biesheuvel)
- ARM: move AES typedefs and function prototypes to separate header (credits to Ard Biesheuvel)
- ARM: add support for bit sliced AES using NEON instructions (credits to Ard Biesheuvel)
- ARM: add .gitignore entry for aesbs-core.S (credits to Russell King)
- CRYPTO: Fix more AES build errors (credits to Russell King)
- workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues (credits to Viresh Kumar)
- workqueue: Add system wide power_efficient workqueues (credits to Viresh Kumar)
- block: queue work on power efficient wq (credits to Viresh Kumar)
- xsched: Optimize build_sched_domains() for saving first SD node for a cpu (credits to Viresh Kumar)
- PHYLIB: queue work on system_power_efficient_wq (credits to Viresh Kumar)
- ASoC: pcm: Use the power efficient workqueue for delayed powerdown (credits to Mark Brown)
- ASoC: jack: Use power efficient workqueue (credits to Luis Cruz)
- regulator: core: Use the power efficient workqueue for delayed powerdown (credits to Luis Cruz)
- ASM: word-at-a-time: make the interfaces truly generic (Chad Goodman) (credits to poondog)
- LIB: use generic strnlen_user and strncpy_from_user functions (Chad Goodman) (credits to poondog)
- ARM: dcache: select DCACHE_WORD_ACCESS for little-endian ARMv6+ CPUs (Chad Goodman) (credits to poondog)
- ARM: 7927/1: dcache: select DCACHE_WORD_ACCESS for big-endian CPUs (credits to Will Deacon)
- sched: Add sysinterface for GENTLE_FAIR_SLEEPERS (credits to Tk-Glitch)
- sched: Consider max cost of idle balance per sched domain (credits to faux123)
- sched: Periodically decay max cost of idle balance (credits to faux123)
- cpufreq: Optimize cpufreq_frequency_table_verify() (credits to Viresh Kumar)
- ancora : update board (credits to madridii)
- ancora: Increased audio volume on board side (credits to madridii)
- ancora: Lowered WIFI voltage (credits to madridii)
- ancora: Lowered display panel voltage (credits to madridii)
- ancora: Lowered Vibetonz voltage (credits to madridii)
- msm7x30: Update default and custom configs (credits to Christopher83)
- ancora: High memory allocations (credits to Christopher83)
- ancora: Add custom defconfigs (credits to Christopher83)
- Revert "mdp4_overlay_lcdc: Fixed wrong initialization of VSYNC" (credits to arco68)
- mmc: msm_sdcc: Advertise erase capability for ancora (credits to arco68)
- msm_fb: Fix backlight issue on ancora and ancora_tmo (credits to arco68)
- gpu: ion: Sync CMA caching logic with carveout heap. (credits to Blefish)
- defconfigs: Build crypto devices as modules (credits to arco68)
- msm: dma: Moving queue_work() function within spinlock (credits to Utsab Bose)
- msm: kgsl: Add the buffer user address to the debugfs memory list (credits to Jordan Crouse)
- msm: kgsl: use %pK to restrict printing GPU / memory addresses (credits to Jordan Crouse)
- sched: Reset rq->next_interval before going idle (credits to Srivatsa Vaddagiri)
- sched: re-calculate a cpu's next_balance point upon sched domain changes (credits to Srivatsa Vaddagiri)
- ARM: 7486/1: sched_clock: update epoch_cyc on resume (credits to Colin Cross)
- ARM: 7565/1: sched: stop sched_clock() during suspend (credits to Felipe Balbi 2)
- sched: Set MC (multi-core) sched domain's busy_factor attribute to 1 (credits to Srivatsa Vaddagiri)
- msm: kgsl: Cleanup the memory free list (credits to Jordan Crouse)
Credits and Thanks to:
arco68, CastagnaIT and Ivendor for their awesome work and their kernel sources
Ezekeel, Doomlord, Faux123, Stratosk, Tegrak, ErasmuX, Imoseyon, Blefish, mikeioannina, Madridii and other devs I'm surely missing
CyanogenMod, Kernel.org, Code Aurora Forum, Google, Linaro GCC developers
lafactorial, dec0der, ayesse, xlollomanx, gregoriaz, Istanblue, tycoo, hrinfrnlmjsty, makankaki, LeroViten and the other users for their support in testing
XDA:DevDB Information
[GT-I8150][ION] K^Kernel 3.4 for KK 4.4 ION+PMEM ADSP, Kernel for the Samsung Galaxy W I8150
Contributors
Christopher83
Source Code: https://github.com/Christopher83/samsung-kernel-msm7x30/tree/cm-11.0
Kernel Special Features: Customized kernel 3.4.x for KK 4.4 rom (CM 11.0 and derivatives) with ION memory allocations
Version Information
Status: Stable
Current Stable Version: v3.0
Stable Release Date: 2015-04-05
Created 2014-06-17
Last Updated 2015-06-08
Special features and sysfs settings (Part 1):
Here you can find some useful scripts that can be used with the following described features:
Scripts​
CPU voltage control VDD sys interface
This feature allows to customize the voltage assumed by each cpu scaling frequency.
It could be useful if you'd like to decrease one or more voltages for battery saving purposes (undervolting), or to increase/adjust them to prevent phone freezes (overvolting).
How to customize the voltages:
1) By downloading and using Trickster MOD or IncrediControl and changing the voltages table inside the SVS tab
2) By using customized init.d scripts (the custom values will be always restored after a reboot, if you don't format the system partition)
- Download one of the script named 01vdd_levels*
- If the file has been saved with .txt extension (stock browser), rename it by removing the .txt extension
- Edit the file by setting your customized voltages, where each line has this syntax
Code:
echo "[I][B][COLOR="Blue"]cpu_freq_HZ[/COLOR][/B][/I] [I][COLOR="SeaGreen"][B]mV[/B][/COLOR][/I]" > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
cpu_freq_HZ is the cpu frequency in Hz you'd like to change
mV is the voltage you want to set
For example, the following line means that when the cpu frequency is 1516800 Hz = 1516 MHz, the voltage used will be 1175 mV
Code:
echo "1516800 1175" > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
- Copy the new file inside /etc/init.d
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Reboot
3) By using Terminal Emulator (note that the values you set will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands
Code:
su
# Run a command for each cpu frequency voltage you'd like to change
echo "[I][B][COLOR="Blue"]cpu_freq_HZ[/COLOR][/B][/I] [I][COLOR="SeaGreen"][B]mV[/B][/COLOR][/I]" > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
cpu_freq_HZ is the cpu frequency in Hz you'd like to change
mV is the voltage you want to set
For example, the following line means that when the cpu frequency is 1516800 Hz = 1516 MHz, the voltage used will be 1175 mV
Code:
echo "1516800 1175" > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
Alternative Extreme Undervolted (ExUV) settings
If after overclocking your I8150 you noticed some freezes when on ExUV kernel builds, you may use an alternative extremely undervolted setting with the init.d script you can find here: 01vdd_levels_alt_exuv
- Download the script
- If the file has been saved with .txt extension (stock browser), rename it by removing the .txt extension
- Copy the new file inside /etc/init.d
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Reboot
Force Fast Charge
This feature allows you to force AC charging for any charger that is detected as USB (eg. PC USB ports, USB Car Chargers) and pull the full current the charger can support, in such a way as to speed up the time required for a complete battery recharge.
By enabling this feature, the USB / ADB data transfers will be disabled (security limitation to protect your data).
How to enable/disable the Force Fast Charge:
1) By using the related setting inside System->Advanced->Force Fast Charge (only on CM 10 Beta 3 and next releases)
2) By downloading and using Trickster MOD or IncrediControl or NsTools
2) By directly editing the file /sys/kernel/fast_charge/force_fast_charge and setting 1 to enable the force charge, 0 to disable it (note that set value will be lost after a reboot/shutdown)
3) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run this command to enable the force fast charge feature
Code:
su
echo 1 > /sys/kernel/fast_charge/force_fast_charge
- Then, when you want to restore the normal status, run this command to disable the force fast charge feature
Code:
su
echo 0 > /sys/kernel/fast_charge/force_fast_charge
4) By using a customized init.d script, but I don't recommend it because you have to remember to disable the feature every time you want to connect your device to a pc for data transfering after every reboot
Battery life extender (BLX)
This feature has been developed by Ezekeel and allows to set a customized battery charging limit (100% is the default stock value, if you want, you can set a lower value).
As Ezekeel said, it is commonly accepted that both very low and very high charge states accelerate the degradation of the battery capacity (that is why you should store Li-Ion batteries at around 40% charge).
If you set a charging limit equal to 100, this feature will be disabled.
How to activate this feature and set a customized charging limit:
1) By downloading and using Trickster MOD or NsTools by setting the customized battery life extender charging limit
2) By using a customized init.d script (the custom value will be always restored after a reboot, if you don't format the system partition)
- Download the script named 15blx
- If the file has been saved with .txt extension (stock browser), rename it by removing the .txt extension
- Edit the file by setting your preferred charging limit (the downloaded script will set the charging limit to 95%)
- Copy the new file inside /etc/init.d
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Reboot
3) By directly editing the file /sys/class/misc/batterylifeextender/charging_limit (the value you set will be lost after a reboot/shutdown)
4) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands (changing the charging limit = 95 with the preferred one)
Code:
su
echo 95 > /sys/class/misc/batterylifeextender/charging_limit
LowMemoryKiller
The LowMemoryKiller driver is used to kill a selected process and free the memory when it is under one of the defined thresholds.
The tuning of the driver could be achieved by means of two parameters exposed by the kernel module via sysfs interface:
- /sys/module/lowmemorykiller/parameters/minfree
This file includes a comma separated array of the threshold numbers for minfree memory size (in page units).
The parameter value set for K^Kernel is "2048,4096,6656,9216,14336,19456".
- /sys/module/lowmemorykiller/parameters/adj
This file includes the comma separated array of oomadj factors, if the corresponding minfree threshold has been reached, one of the process with an oomadj greater than this number will be killed.
The oomadj factor is a property associated to each process, its value is in a range from -17 to +15, the processes with a higher oomadj factor will be the first to be killed when a specific minfree threshold has been reached.
The parameter value set for K^Kernel is "0,20,50,100,250,500".
Frandom - Fast Random Generator
As Eli Billauer (the creator of this module) said, Frandom is a Linux kernel random number generator, which is 10-50 times faster than what you get from Linux built-in /dev/urandom. And it uses very little (/dev/frandom) or none (/dev/erandom) of the kernel's entropy pool, so it is very useful for applications that require a handy source for lots of random data.
How to test if frandom builtin module is correctly working:
- Download the script named frandom_test.sh
- Using your preferred file explorer, copy the file inside the folder /data/local of your device
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Open Terminal Emulator
- Run this command
Code:
/data/local/frandom_test.sh
You should see a result similar to this one:
If the urandom tests take more than 1 or 2 seconds and are more different than related frandom tests, then the random number generation is not fully optimized for your currently used kernel...
How to disable / re-enable the redirection to frandom module during boot process:
By using Terminal Emulator:
- Run these commands to create the flag file and disable Frandom redirection:
Code:
su
touch /data/frandom_disabled
- Or run these commands to delete the flag file and re-enable Frandom redirection:
Code:
su
rm /data/frandom_disabled
The change will take effect after a reboot.
RAM Console
This feature is useful expecially for development and debugging purposes, when occurs kernel panic / unexpected shutdowns or reboots. Pratically, the kernel messages are also stored inside a little RAM portion and restored during reboot after a kernel panic, inside the file /proc/last_kmsg.
Dynamic FSync
This feature has been developed by Faux123 and allows to dynamically manage the synchronous writes performed on file system (FSync).
It uses asynchronous writes when the screen is on, instead of synchronous writes, to have better performance and a slightly lower battery drain, while when the screen is off the synchronous writes are re-enabled to flush all the outstanding writes and prevent possible data loss.
How to enable/disable the Dynamic FSync (default enabled):
1) By downloading and using Trickster MOD
2) By directly editing the file /sys/kernel/dyn_fsync/Dyn_fsync_active and setting 1 to enable the dynamic fsync, 0 to disable it (note that set value will be lost after a reboot/shutdown)
3) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run this command to disable the dynamic fsync feature
Code:
su
echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
- Or run this command to re-enable the dynamic fsync feature
Code:
su
echo 1 > /sys/kernel/dyn_fsync/Dyn_fsync_active
Dynamic dirty page writebacks
This feature has been developed by me and allows to dynamically manage the dirty page writebacks with two different intervals, one when the screen is on and another when the screen is off.
It is based on a commit of Francisco Franco, but instead of using hard coded values and of disabling at all the dirty page writebacks while the screen is on (possibility of data loss), I preferred to use a customizable higher dirty page writebacks interval (15 seconds) than the default one (5 seconds) while the screen is on and a customizable default interval (5 seconds) when the screen is off.
By using a higher interval we have better performance and less battery consumption, with a very low risk of data loss.
How to customize the dynamic dirty page writebacks feature (default enabled):
Three new procfs parameters are exposed inside /proc/sys/vm path:
- dynamic_dirty_writeback is the activation status of this feature, set 1 to enable it, set 0 to disable it and use the standard behaviour
- dirty_writeback_active_centisecs is the interval for the dirty page writebacks when the system is active (screen on), the default value is 1500 centisecs (15 seconds)
- dirty_writeback_suspend_centisecs is the interval for the dirty page writebacks when the system is suspended (screen off), the default value is 500 centisecs (5 seconds)
In my kernel builds, during boot, I set other customized values:
- an interval of 30 seconds while the screen is on
- an interval of 10 seconds when the screen is off
1) By directly editing one of the file written above inside /proc/sys/vm and setting the preferred value (note that set value will be lost after a reboot/shutdown)
2) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run this command to disable the dynamic dirty page writebacks feature
Code:
su
echo 0 > /proc/sys/vm/dynamic_dirty_writeback
- Or run this command to re-enable the dynamic dirty page writebacks feature
Code:
su
echo 1 > /proc/sys/vm/dynamic_dirty_writeback
- Run this command to set customize the two intervals (30 seconds while the screen is on, 10 seconds when the screen is off)
Code:
su
echo "3000" > /proc/sys/vm/dirty_writeback_active_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_suspend_centisecs
Special features and sysfs settings (Part 2):
Timer slack controller and dynamic management of the minimal timer slack value
The timer slack controller is a feature developed by Kirill Shutemov and it allows to set the minimal timer slack value for every process contained within a control group (cgroup).
A timer slack allows the kernel to manage processes wakeup requests at some future time.
Thanks to this feature, the kernel can set a specific timer slack for the involved processes, minimizing the number of wakeups and allowing a lower system's power consumption.
For further info: Timer slack for slacker developers
I also implemented a new feature in addition to the above one that allows the dynamic management of the minimal timer slack value.
So, it's possible to use different minimal timer slack value when the system is active and when has been suspended.
How to customize the dynamic timer slack controller feature:
Three new cgroup parameters are exposed inside each processes hierarchy contained in /dev/cpuctl path:
- timer_slack.min_slack_ns is the timer slack used when the system is active for the current processes hierarchy
- timer_slack.min_slack_suspend_ns is the timer slack used when the system is suspended for the current processes hierarchy
- timer_slack.effective_slack_suspend_ns is the timer slack currently used
At the moment, the values chosen and used by K^Kernel are the following:
- core processes (/dev/cpuctl), 0 ns when the system is active, 50000 ns when the system is suspended
- foreground apps/processes (/dev/cpuctl/apps), 0 ns when the system is active, 250000 ns when the system is suspended
- background non interactive apps/processes (/dev/cpuctl/apps/bg_non_interactive), 100000000 ns when the system is active, 250000000 ns when the system is suspended
1) By directly editing one of the file written above inside /dev/cpuctl and inside each hierarchy subfolder, by setting the preferred value (note that set value will be lost after a reboot/shutdown)
2) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands to set the minimal timer slack for generic and core apps/processes
Code:
su
echo 0 > /dev/cpuctl/timer_slack.min_slack_ns
echo 50000 > /dev/cpuctl/timer_slack.min_slack_suspend_ns
- Run these commands to set the minimal timer slack for apps/processes in foreground
Code:
su
echo 0 > /dev/cpuctl/apps/timer_slack.min_slack_ns
echo 100000 > /dev/cpuctl/apps/timer_slack.min_slack_suspend_ns
- Run these commands to set the minimal timer slack for apps/processes in background and non interactive
Code:
su
echo 100000000 > /dev/cpuctl/apps/bg_non_interactive/timer_slack.min_slack_ns
echo 250000000 > /dev/cpuctl/apps/bg_non_interactive/timer_slack.min_slack_suspend_ns
LowMemoryKiller management of not killable processes
This feature allows to define processes and system processes white-lists filled with the preferred process names and to not be killed by lowmemorykiller, unless it is absolutely necessary.
This feature exposes four new lowmemorykiller parameters:
- donotkill_proc, is the flag to enable / disable this feature for the processes chosen by the user
- donotkill_sysproc, is the flag to enable / disable this feature for the system processes chosen by the user
- donotkill_proc_names, is the list of process names (comma separated) chosen by the user to be preserved from killing
- donotkill_sysproc_names, is the list of user system process names (comma separated) chosen by the user to be preserved from killing
When the lowmemorykiller needs to free ram, it will first kill the processes not included inside the two process name lists chosen by the user.
If there are no more standard killable processes, then it will be necessary to kill one of the processes included inside one of the two white-lists, to prevent system hangs, slowdowns, etc.
How to customize the white lists of processes to preserve from killing:
On K^Kernel the feature is enabled by default and the provided processes white lists are the following:
- donotkill_proc_names = "com.cyanogenmod.trebuchet,com.anddoes.launcher,com.teslacoilsw.launcher,org.adwfreak.launcher,gtp.nextlauncher,android.inputmethod.latin,com.touchtype.swiftkey"
this means that Trebuchet Launcher, Apex Launcher, Nova Launcher, ADW Launcher, Next Launcher, stock keyboard and SwiftKey keyboard will be preserved from killing
- donotkill_sysproc_names = "android.process.acore,com.android.phone,com.bel.android.dspmanager"
this means that the system process, the phone process and DSP Manager will be preserved from killing
1) By using a customized init.d script (the custom value will be always restored after a reboot, if you don't format the system partition)
- Download the script named 80dnkp
- If the file has been saved with .txt extension (stock browser), rename it by removing the .txt extension
- Edit the file by setting your preferred status and processes list
- Copy the new file inside /etc/init.d
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Reboot
2) By directly editing the files inside /sys/module/lowmemorykiller/parameters (note that set values will be lost after a reboot/shutdown)
3) By using Terminal Emulator (note that set values will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands if you want to enable the feature
Code:
# To enable this feature for the processes chosen by the user
echo 1 > /sys/module/lowmemorykiller/parameters/donotkill_proc
# To enable this feature for the system processes chosen by the user
echo 1 > /sys/module/lowmemorykiller/parameters/donotkill_sysproc
- Run these commands if you want to disable the feature
Code:
# To disable this feature for the processes chosen by the user
echo 0 > /sys/module/lowmemorykiller/parameters/donotkill_proc
# To disable this feature for the system processes chosen by the user
echo 0 > /sys/module/lowmemorykiller/parameters/donotkill_sysproc
- Run this command if you want to add, for example, Trebuchet Launcher (CM default launcher) and the default keyboard to the processes white list
Code:
echo "com.cyanogenmod.trebuchet,android.inputmethod.latin" > /sys/module/lowmemorykiller/parameters/donotkill_proc_names
- Run this command if you want to add, for example, the system process, the phone process and DSP Manager to the system processes white list
Code:
echo "android.process.acore,com.android.phone,com.bel.android.dspmanager" > /sys/module/lowmemorykiller/parameters/donotkill_sysproc_names
ZRAM module
As explained on Wikipedia, this feature, provided in this kernel as a standalone loadable module, increases performance by avoiding paging on disk and instead uses a compressed block device in RAM in which paging takes place until it is necessary to use the swap space on the hard disk drive.
In few words, the memory pages no more used and so to be swapped are sent to zRam device blocks, compressed and stored in memory instead of disk allowing better performance and also lower memory usage, on the other hand, a little higher amount of cpu is needed to perform compression and decompression of memory pages.
Since we have a device with a low amount of free memory, this feature could be useful to have more free ram.
How to change the size of zRam or to disable it (thanks to @ktulu84 for sharing these scripts):
To change the size of zRam (the custom value will be always restored after a reboot, if you don't format the system partition):
- Download the script named 60zram
- If the file has been saved with .txt extension (stock browser), rename it by removing the .txt extension
- Edit the file by setting your preferred zRam size (change SIZE value, default is 100 MB)
- Copy the new file inside /etc/init.d
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Reboot
If you want to use default zRam size, simply remove the file placed inside /etc/init.d and reboot.
To disable zRam (the custom value will be always restored after a reboot, if you don't format the system partition):
- Download the script named 60disable_zram
- If the file has been saved with .txt extension (stock browser), rename it by removing the .txt extension
- Copy the new file inside /etc/init.d
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Reboot
If you want to re-enable zRam, simply remove the file placed inside /etc/init.d and reboot.
FAQ - Frequently asked questions:
Q: What are the differences between EXUV and UV kernel versions?
A: The EXUV kernel versions have extremely undervolted settings for the cpu frequencies, they allows to have a very low battery drain, instead the UV kernel versions have undervolted settings a bit higher than EXUV versions, but always lower than stock kernel settings.
The EXUV kernel versions could give some problems (freezes, shutdowns, huge lags) on some devices because the cpu doesn't support too low voltage settings.
For a lower battery consumption, I suggest you to try EXUV versions first and to switch to UV versions only if you encounter one of the above mentioned problems.
Q: What are the differences between 396MB, 406MB and 416MB versions?
A: 396MB, 406MB and 416MB kernel versions have different free ram available for user space, with a higher free ram your device will work better with heavy apps, many concurrently used apps, heavy games, etc.
- 396MB versions are more stable, everything is fully working, but you could have some slowdowns with apps that require a high amount of free memory.
- 406MB versions have additional 10 MB of free ram, they are suitable for the users that use the device primarly for calls, messages, simple apps and simple games. The camera, video recording (both 480p and 720p modes) and video playback are fully working.
- 416MB versions have additional 20 MB of free ram, they are suitable for the users that use the device also with heavy apps, various concurrently used apps and games. The camera, video recording (both 480p and 720p modes) and video playback are fully working.
Q: Why should I deactivate KSM (Kernel Samepage Merge)?
A: KSM (Kernel Samepage Merge), let us save a bit of RAM space used by kernel (max 10MB during my analysis) by merging duplicated memory pages used by different processes, but it has also some performance impacts, since it uses CPU time to perform those memory scanning and merging operations.
So, in few words, it could free up a bit of RAM, but sometimes keeps the CPU busy to complete its work.
After introducing the dynamic allocation of MM ION and PMEM ADSP heaps, KSM could cause issues while trying to use camera or camcorder and playing HW/HW+ videos.
This is due to the impossibility to allocate one or more memory pages that have been merged by KSM inside the memory area reserved for dynamic allocations for MM ION or PMEM ADSP heaps through CMA (Contiguous Memory Allocator).
I'm looking for a solution for this "incompatibility", but at the moment the tried changes didn't work.
So, as a workaround, don't activate KSM until we find a fully working solution, since the RAM freed by dynamic allocation is surely higher than KSM freed RAM without any performance impact during normal usage.
The option can be deactivated inside Settings -> Performance -> Memory management -> Kernel samepage merging.
Q: How can I get the Performance and Developer Options entries inside Settings menu?
A: Go inside Settings -> About Phone -> Scroll down and tap 7 times on Build number (it's an Easter Egg).
Q: How can I get the log after an unexpected shutdown / reboot?
A: After an unexpected shutdown / reboot of the device, if the problem may be kernel related, you should have the /proc/last_kmsg, if so, send me that log and I'll check it to find the possible cause of the problem.
Q: How can I get the logs when I encounter strange system issues while it's running?
A: Check first if the problems could be related to an app you're using and if you changed something in the last days before facing those issues.
If the problem started after installing the kernel, then let me have you logcat and dmesg:
- Open Terminal Emulator and execute these commands:
Code:
su
dmesg > /sdcard/dmesg.txt
locat -v time -d > /sdcard/logcat.txt
- Open you preferred file manager and go inside the internal sd card partition /sdcard
- Send me the dmesg.txt and logcat.txt files, if you want zip them first
Q: How can I mount a shared Windows folder with CIFS module?
1) By using Terminal Emulator
Code:
mount -o unc=\\\\[COLOR="DarkGreen"][I]ip[/I][/COLOR]\\[COLOR="Blue"][I]share[/I][/COLOR],noserverino,username=[I][COLOR="DarkOrange"]user[/COLOR][/I],password=[I][COLOR="Lime"]password[/COLOR][/I] -t cifs //[COLOR="DarkGreen"]ip[/COLOR]/[COLOR="Blue"]share[/COLOR] [I][COLOR="DarkSlateGray"]/mnt/cifs[/COLOR][/I]
2) Downloading and using CifsManager and configuring the new share as follow:
- Share Path = ip/share
- Mount Point = /mnt/cifs/share
- Username = username
- Password = password
- Options = unc=\\\\ip\\share,noserverino
Where:
ip is the ip address of your pc where the folder is shared
share is the shared folder name
user is the user name that can access the shared folder
password is the user password
/mnt/cifs is the mount point (must be created if you'd like to use the command approach with Terminal Emulator)
Reserved, just in case...
Nice one! by the way, is this compatible with CyanogenMod 11.0 (20140616)? Thanks
Can this run on DCM 4.4.3
Sent from my GT-I8150 using XDA Premium 4 mobile app
LabBoy97 said:
Can this run on DCM 4.4.3
Sent from my GT-I8150 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Yes. Read HERE
Great !! is this kernel TRIM supported ?
is the blnv10 supported?
SagiTHORus_ said:
Great !! is this kernel TRIM supported ?
Click to expand...
Click to collapse
farisnanosoft said:
is the blnv10 supported?
Click to expand...
Click to collapse
Guys, kindly read main features in OP
dec0der said:
Nice one! by the way, is this compatible with CyanogenMod 11.0 (20140616)? Thanks
Click to expand...
Click to collapse
Yes, it's ready to be used with the new CM 11.0 released by arco68.
LabBoy97 said:
Can this run on DCM 4.4.3
Sent from my GT-I8150 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Yes
SagiTHORus_ said:
Great !! is this kernel TRIM supported ?
Click to expand...
Click to collapse
Yes
farisnanosoft said:
is the blnv10 supported?
Click to expand...
Click to collapse
No, at the moment, since GT-I8150 uses a different touchkeys driver than GT-I9001.
Sent from my GT-I9001 with Tapatalk 4
thanks sir.
downloading, i'll try and give feed back :highfive:
WOOOOOO! First time I've seen custom kernel like this Powered by K^Kernel by @Christopher83 :highfive:
thanks @Christopher83 : too great :good:
It's running really smooth and fast in DCM 4.4.3 thanks Christopher
Sent from my GT-I8150 using XDA Premium 4 mobile app
Running flawlessly so far on pure cm 11.0 build 20140616 powered by K^Kernel v.XHM
By the way, hope you will continue updating this kernel @Christopher83 or anyone else. Thanks a lot! :highfive:
thank you sir :good:
Using it with CM11 (20140525) , everything is working good
BTW , it's the best kernel i've ever used >.<
Huge list of features , thanks Christopher ! now my phone is as smooth as silk :good::good:

[KERNEL] Unleashed Nexus Player v7 [12/23/2014]

Here ya go guys, first Nexus Player Kernel with exfat, BFQ I/O Scheduler support and some tweaks:
Project name: Unleashed Kernel
Code:
ion-storm - add ak-changelog
Ecco park - net: wireless: bcmdhd reduce kernel logging
Ecco park - net: wireless: bcmdhd abort ongoing-scan for disconnection
Ecco park - net: wirelss: bcmdhd fix roaming bug
Ecco park - net: wirelss: bcmdhd fixed disconnect issue for connecting status
ion-storm - net: wireless: bcmdhd: Allow preallocation for WLFC_INFO
Ecco park - net: wirelss: bcmdhd fixed pcie suspend/resume issue
Ecco park - net: wireless: bcmdhd enable STATIC MEMORY ALLOCATION
Ritter Yeh - net: wireless: bcmdhd: Enable dongle_isolation for PCIe/built-in type driver
Ecco park - net: wirelss: bcmdhd fix the corner case of PCIe linkdown
Ritter Yeh - net: wireless: bcmdhd: Fix race condition during flow ring creation and deletion
Dmitry Shmidt - net: wireless: bcmdhd: Fix compilation for non PCIE_FULL_DONGLE case
Ecco park - net: wireless: bcmdhd change the turn off/on sequence of WLAN
Ecco park - net: wireless: bcmdhd reduced the MAX_CNTL_TX_TIMEOUT to 1
Ritter Yeh - net: wireless: bcmdhd: Fixed failure to enter PS mode while roaming in suspend
Ecco park - net: wireless: bcmdhd: add recovery logic for resumed on timeout.
Ecco park - net: wireless: bcmdhd add RECOVERY mechanism of PCIe LinkDown
Chris Fries - Staging: android: binder: Ratelimit binder debug messages
lungtsai_lin - net: wireless: bcmdhd: Fix parameter to set wifi tx back off for SAR
Dmitry Shmidt - net: wireless: bcmdhd: Fix country update on dhd_stop()
Dmitry Shmidt - net: wireless: bcmdhd: Allow vendor OUI customization for SoftAP
ion-storm - Enable F2FS, NTFS, CIFS, NFS filesystems
Riley Andrews - staging: binder: Change binder mutex to rtmutex.
Thomas Gleixner - futex: Add another early deadlock detection check
ion-storm - defconfig: update
Paul Reioux - page_alloc: Make watermarks tunable separately
faux123 - scripts: remove localversion "+" from kernel version strings
Srivatsa S. Bhat - cpufreq: governor: Be friendly towards latency-sensitive bursty workloads
Mel Gorman - mm: disable zone_reclaim_mode by default
Yuchung Cheng - tcp: enable sockets to use MSG_FASTOPEN by default
Ard Biesheuvel - ARM: crypto: add NEON accelerated XOR implementation
Kamalesh Babulal - sched/debug: Add load-tracking statistics to task
Mauro Andreolini - block, bfq: add Early Queue Merge (EQM) to BFQ-v7r6 for 3.10.8+
Paolo Valente - block: introduce the BFQ-v7r6 I/O sched for 3.10.8+
Arianna Avanzini - block: cgroups, kconfig, build bits for BFQ-v7r6-3.10.8+
franciscofranco - Added fsync on/off support.
Michael Wang - sched: Implement smarter wake-affine logic
Miao Xie - lib/memcopy: use glibc version
Miao Xie - lib/string: use glibc version
Fengguang Wu - readahead: make context readahead more conservative
Jan Kara - block: Reserve only one queue tag for sync IO if only 3 tags are available
Jan Kara - writeback: Fix occasional slow sync(1)
Junxiao Bi - writeback: fix race that cause writeback hung
Namjae Jeon - writeback: fix writeback cache thrashing
Dave Chinner - sync: don't block the flusher thread waiting on IO
flar2 - tweak fifo_batch
Greg Kroah-Hartman - lz4: add overrun checks to lz4_uncompress_unknownoutputsize()
Greg Kroah-Hartman - lz4: fix another possible overrun
Greg Kroah-Hartman - lz4: ensure length does not wrap
Sergey Senozhatsky - lz4: fix compression/decompression signedness mismatch
Richard Laager - lib/lz4: correct the LZ4 license
Chanho Min - lib: add lz4 compressor module
Kyungsik Lee - lib: add support for LZ4-compressed kernel
Kyungsik Lee - decompressor: add LZ4 decompressor module
Zeev Tarantov - staging: Add Snappy compression library (v3)
flar2 - Add exFAT support
flar2 - AIO: Don't plug the I/O queue in do_io_submit()
Mel Gorman - mm: slub: Default slub_max_order to 0
flar2 - Add /dev/frandom support
Instructions:
Code:
adb reboot bootloader
fastboot flash boot boot.img
v3: Added NTFS, NFS/CIFS/F2FS Filesystem support (tested and working) may need to disable selinux: setenforce 0
v4: Add 512mb zram as default on boot for better memory performance
v5: Updated wireless Drivers & optimizations
v6: Added USB Webcam support & USB Audio (tested and working with all UVC/V4L usb cameras)
v7: Added FIOPS IO scheduler forward port for improved performance
Download:
https://www.androidfilehost.com/?w=files&flid=22831&sort_by=date&sort_dir=DESC
Source:
https://github.com/ion-storm/nexusplayer
Nice!
Will Unleash my Nexus Player when i hold it in my Hands! :silly:
Thanks for the Kernel Bro!
Miustone said:
Nice!
Will Unleash my Nexus Player when i hold it in my Hands! :silly:
Thanks for the Kernel Bro!
Click to expand...
Click to collapse
definately Right now its pretty much stock, I will be adding allot more tweaks/fixes as time goes on
I'm not exactly sure what this does yet, but thank you for developing for the NP.
features
Hey guys let me know of some features that you'd like implemented which I will consider adding.
defconoi said:
Hey guys let me know of some features that you'd like implemented which I will consider adding.
Click to expand...
Click to collapse
I'd like a reboot option. =]
drilus said:
I'd like a reboot option. =]
Click to expand...
Click to collapse
That is not a Kernel Option! It's a System thing ...
Miustone said:
That is not a Kernel Option! It's a System thing ...
Click to expand...
Click to collapse
True... [emoji31]
Kernel Update
Unleashed V2
Enabled F2FS, CIFS, NFS Filesystems:
https://www.androidfilehost.com/?fid=95857557620393916
defconoi said:
Unleashed V2
Enabled F2FS, CIFS, NFS Filesystems:
https://www.androidfilehost.com/?fid=95857557620393916
Click to expand...
Click to collapse
Do these filesystems actually function? I added these to my own kernel in testing and could get none of these working. I also added NTFS with write support and that did actually function correctly. I'd love to see CIFS or NFS working, along with F2FS and/or EXT2.
nimdae said:
Do these filesystems actually function? I added these to my own kernel in testing and could get none of these working. I also added NTFS with write support and that did actually function correctly. I'd love to see CIFS or NFS working, along with F2FS and/or EXT2.
Click to expand...
Click to collapse
missed NTFS support adding that now, they should mount but selinux probably needs to be disabled because it blocks it
nimdae said:
Do these filesystems actually function? I added these to my own kernel in testing and could get none of these working. I also added NTFS with write support and that did actually function correctly. I'd love to see CIFS or NFS working, along with F2FS and/or EXT2.
Click to expand...
Click to collapse
Here is v3 with NTFS support added in:
https://www.androidfilehost.com/?fid=95857557620393927
try and mount a NTFS drive and report back, also do setenforce 0 to disable selinux
defconoi said:
Here is v3 with NTFS support added in:
https://www.androidfilehost.com/?fid=95857557620393927
try and mount a NTFS drive and report back, also do setenforce 0 to disable selinux
Click to expand...
Click to collapse
Confirmed, NTFS works with my 4TB western digital mybook.
Kernel Update
Unleashed V4:
Zram set to 512MB as default on boot in fstab, was 90mb before which was pointless, now less redraws and better memory performance.
https://www.androidfilehost.com/?fid=95864024717066432
Kernel Update
Code:
Unleashed v5:
Code:
ion-storm - add ak-changelog
Ecco park - net: wireless: bcmdhd reduce kernel logging
Ecco park - net: wireless: bcmdhd abort ongoing-scan for disconnection
Ecco park - net: wirelss: bcmdhd fix roaming bug
Ecco park - net: wirelss: bcmdhd fixed disconnect issue for connecting status
ion-storm - net: wireless: bcmdhd: Allow preallocation for WLFC_INFO
Ecco park - net: wirelss: bcmdhd fixed pcie suspend/resume issue
Ecco park - net: wireless: bcmdhd enable STATIC MEMORY ALLOCATION
Ritter Yeh - net: wireless: bcmdhd: Enable dongle_isolation for PCIe/built-in type driver
Ecco park - net: wirelss: bcmdhd fix the corner case of PCIe linkdown
Ritter Yeh - net: wireless: bcmdhd: Fix race condition during flow ring creation and deletion
Dmitry Shmidt - net: wireless: bcmdhd: Fix compilation for non PCIE_FULL_DONGLE case
Ecco park - net: wireless: bcmdhd change the turn off/on sequence of WLAN
Ecco park - net: wireless: bcmdhd reduced the MAX_CNTL_TX_TIMEOUT to 1
Ritter Yeh - net: wireless: bcmdhd: Fixed failure to enter PS mode while roaming in suspend
Ecco park - net: wireless: bcmdhd: add recovery logic for resumed on timeout.
Ecco park - net: wireless: bcmdhd add RECOVERY mechanism of PCIe LinkDown
Chris Fries - Staging: android: binder: Ratelimit binder debug messages
lungtsai_lin - net: wireless: bcmdhd: Fix parameter to set wifi tx back off for SAR
Dmitry Shmidt - net: wireless: bcmdhd: Fix country update on dhd_stop()
Dmitry Shmidt - net: wireless: bcmdhd: Allow vendor OUI customization for SoftAP
ion-storm - Enable F2FS, NTFS, CIFS, NFS filesystems
Riley Andrews - staging: binder: Change binder mutex to rtmutex.
Thomas Gleixner - futex: Add another early deadlock detection check
ion-storm - defconfig: update
Updated the wireless drivers from the newer N9 code which has our same chipset, futex, binder optimizations and reduced wireless logging for performance.
Download:
https://www.androidfilehost.com/?fid=95864024717066489
I just compiled the kernel for external usb webcam support:
Code:
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2_COMMON=y
CONFIG_USB_VIDEO_CLASS=y
CONFIG_VIDEO_MEDIA=y
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
but it would seem there is something missing in android tv that doesnt allow it
Excuse the noobness here, but with NTFS support, does this mean we can plug in an ntfs usb drive and it will be seen as system drive and install apps to it?
DeVSS said:
Excuse the noobness here, but with NTFS support, does this mean we can plug in an ntfs usb drive and it will be seen as system drive and install apps to it?
Click to expand...
Click to collapse
This would require some fstab editing on your part, just use stickmount and there may be an apps2sd app that could do it, or possibly a symlink, selinux will be need to set permissive as well
Kernel has been running great so far. Your efforts are appreciated. How is the kernel looking for overclocking?
ggrammer said:
Kernel has been running great so far. Your efforts are appreciated. How is the kernel looking for overclocking?
Click to expand...
Click to collapse
I probably won't add overclocking for a while, the CPU is more powerful than anything ATM, for now I'm focusing on io/memory tweaks, since that seems to be the bottleneck, I will be adding as much as possible, and will keep this updated with the latest kernel code available.

Categories

Resources