{
"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"
}
(thank you for the picture, Lt.Win)
Before I begin, I'd like to thank:
thachtunganh - for teaching me everything from downloading the source code to compiling the kernel
DJNoXD - for tips on kernel development and support for P505/P506
Turducken - for tips on kernel development
hephappy - the 2.6.35.14 kernel is based off his CM9 kernel
androidarmv6 - the 3.0.8 kernel is based off of this team's kernel
thachtunganh, DJNoXD, franciscofranco, Rashed97, williamcharles, and many other developers - making patches to this kernel possible
WidowCranky and engr_exxi - providing me with very valuable feedback
you - for testing/using this kernel. Thanks again!
Just a quick summary of this kernel (you can find more info in the changelog):
Compiled using CodeSourcery
Updated governors (interactiveX, conservative, ondemandX, powersave, SmartassH3, performance)
Google Snappy Compression for ZRAM
SLQB memory allocator
optimized touchscreen from thachtunganh
BFS/CFS cpu scheduler
If there are any features you would like to see, I'll try my best to include them.
Click to expand...
Click to collapse
Supported devices:
P500, P505, P506, P509
Supported ROMs:
All kernels are built for ICS. CM9.2 uses the 3.0.x kernel. All other ICS ROMs use the 2.6.35.xx kernel. If you are not sure, find out your current kernel version by looking under Settings > About Phone > Kernel version.
FPChaim and edinrh have tested this on GB and reported that it broke video playback, so don't flash this on GB unless you don't mind losing video playback.
The newer versions of CM10/CM10.1 will not be supported, as they require triple buffering in the kernel. It is too much of a hassle for me to make a separate build just with it enabled. This is not to say that this kernel will not work on JB; it is just your experience may not be as smooth as it could be. Please use androidarmv6's kernel for that.
Why I built this kernel:
I wanted to compile an ICS kernel using a clean base kernel for a little gaming. To do so, I've included franciscofranco's touchscreen driver from his GB kernel and implemented the BFS CPU scheduler. Also included are some performance patches.
Flashing the kernel:
Before flashing, remember to have another kernel to flash or a backup in case anything goes wrong. Flash this kernel like any other kernel. Don't forget to wipe cache and dalvik cache.
Changelog:
You can find the changelog at my Google Code or in the following two posts.
Headers that are in bold refer to new releases.
Downloads:
You can download the latest and previous releases of the kernel at:
http://code.google.com/p/sweetnsour-kernel/downloads/list
Why Google Code? Google Code is free, provides fast downloads, and allows me to keep track of the number of downloads. This is important because it allows me to determine which kernel users prefer (BFS vs CFS, most importantly). As such, I ask that you do not mirror any of the kernels.
Click to expand...
Click to collapse
Bugs/Reporting bugs:
Code:
Cannot set data limit [B]*FIXED[/B]
WiFi battery drain [B]*In Progress[/B]
3.0.8 kernel breaks wifi on JB [B]*FIXED[/B]
If you find a bug, please report it with steps to reproduce the issue here:
http://code.google.com/p/sweetnsour-kernel/issues/list
If you want to report an issue with battery life, please post a BetterBatteryStats screenshot of kernel and partial wakelocks.
To-Do List:
Code:
determine what breaks P505/P506 compatibility
TWRP support [B]*DONE[/B]
Want to Compile Your Own Kernel?
Code:
1. Fork the repo of your choice on github. Now that you have a fork of it on your github, download the source by entering the following in Terminal:
git clone [SSH address of your fork]
2. Set PATH for the toolchain (GCC 4.4.3 will be used as an example)
a) Clone the toolchain repo, and then copy the folder to Home. Open Terminal and enter "sudo cp arm-eabi-4.4.3 /opt/arm-eabi-4.4.3"
b) Enter "gedit .bashrc" and add the following:
# others
PATH=/opt/arm-eabi-4.4.3/bin:$PATH
export PATH
Restart your computer to apply changes.
c) Go to kernel source. Open the Makefile and look for:
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?= arm-eabi-
CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
Make sure the second line is set to arm-eabi-.
3. Make kernel config
a) Look for the appropriate defconfig file under /arch/arm/configs.
In Terminal, enter "make [name-of-defconfig]". This will create a .config file in the root of your kernel source.
b) Use "make menuconfig" to enable/disable kernel features.
c) After "make menuconfig", copy the contents of .config back into the defconfig you used from /arch/arm/configs. A shortcut for this is to create a file called "def" at the root of your kernel source. Paste the following into the "def" file:
#!/bin/bash
# This command will copy your kernel config to the defconfig folder.
# Change "yourkernelname" to what name you like,
# change "androidosversion" to what android os version that you design kernel for.
cp .config arch/arm/configs/cyanogenmod_p500_defconfig
Change the directory to that of the defconfig you used.
In Terminal, cd to your kernel source and make the "def" file executable by entering:
chmod +x def
Run the file by typing "./def"
4. Compiling kernel
a) To clean up the kernel source, use "make clean" to delete any already-compiled files or "make distclean" to clean up more files including .config. At this time, use "make clean".
b) Compile the kernel using "make -jx", where x is the number of CPU cores your computer has plus one.
5. Zipping the kernel
a) Create a directory called "android" and within that folder, create a folder called "releasefolder" by entering the following in Terminal:
cd ~/
mkdir ~/android
cd ~/android
mkdir releasefolder
b) To create a zip of the kernel, you will need the AnyKernel template. Enter the following in Terminal:
git clone [email protected]:austinay/AnyKernel.git -b p500
c) Just like with the "def" file, create a file called "zip" at the root of the kernel source and paste the following into the "zip" file"
#!/bin/bash
clear
now=$(date +"%Y%m%d_%H%M")
# Copy the new modules and new zImage to Anykernel folder.
cp drivers/net/wireless/bcm4325/wireless.ko ~/android/AnyKernel/system/lib/modules
cp arch/arm/boot/zImage ~/android/AnyKernel/kernel
# Creat flashable zip file
cd ~/android/AnyKernel
zip -r name-of-flashable-zip-file-${now}.zip *
# Drop it to release folder
mv ~/android/AnyKernel/name-of-flashable-zip-file-${now}.zip ~/android/releasefolder
Change "name-of-flashable-zip-file" to the name that you want to give to the zip of your kernel.
In Terminal, enter "./zip" to create a flashable zip.
COMMANDS
git clone [ssh address] - clone a repo
git branch [branch name] - create a branch
git add [path] - stage a modified file for committing
git add . - stage all modified file for commiting
git commit -m "your commit here" - commit staged files with your commit name
git commit -a - includes both "git add ." and "git commit -m"
git push - push changes to github
git push --force - force changes to be pushed to github
git push [remote name, which is usually "origin" for a forked repo] [branch name]
git clean -f - remove untracked files
git clean -f -d - remove untracked directories
COMMITS/PATCHES
After making changes to the kernel, push these changes as commits using the appropriate commands above.
To apply a commit (from another repo) as a patch, enter the following in Terminal:
git remote add [remote name] [repo SSH address]
git fetch [remote name]
git cherry-pick [SHA1 of commit]
To roll back to a certain commit, enter the following in Terminal:
git reset --hard [SHA1 of old commit]
git push -f
To patch the 3.0.x kernel to the latest version, look here:
http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/?h=linux-3.0.y
To apply a patch file:
git am [name-of-file].patch
OTHERS
To pull a newly created branch from the original repo, use:
git fetch [remote-name] [remote-branch]:[new-local-branch]
Kernel source:
sweetnsour-kernel: https://github.com/austinay/sweetnsour-kernel
base kernel: https://github.com/GenetICS/lge_kernel_msm7x27
2.6.35.14 changelog
version1
- performance patches
decreased vfs_cache_pressure
set slub_max_order to 0
tweak SIO scheduler
tweak dirty_background_ratio, vm_dirty_ratio
lib: Improve the performance of memcpy and memmove of the general version (arco)
patched vm_max_readahead
sched: disable GENTLE_FAIR_SLEEPERS
tweak deadline I/O scheduler
lower swappiness to 0 (low latency)
optimize xz wrapper to speed up boot time (sar castillo)
tweak conservative governor
mm: writeback: disable the writeback function while the screen is on
CFS tweaks
use O3 optimization
use franciscofranco's touchscreen driver
implement BFS 404
- power management patches
patches from thachtunganh
kernel: Prevent unnecessary rfkill event generation (Vitaly Wool)
- Google Snappy compression for ZRAM
- add SLQB memory allocator
- add Stochastic Fair Blue network scheduler
- attempt to show WIFI networks with low signal
- Hack for CRT animations fix (Rashed97)
- Fix mdp4_overlay for MDPI devices (Rashed97)
- fix lowmemorykiller.c: memory compaction is never invoked
- WIFI PM = FAST (thachtunganh)
- Proportional Rate Reduction for TCP
- update from 2.6.35.10 to 2.6.35.14
- increase vibration
- added optimized CRC32 algorithm (Ezekeel)
version2
- add axis inversion workaround and pressure sensitivity
- enable AXI OC
- CPUIDLE driver from 3.7
- staging: framebuffer port from 3.0.8
- mmc: use really long write timeout to deal with crappy cards
- New battery driver courtesy of thachtunganh
- reclaim RAM from loggers, optimized kernel
- add more PMEM
- Removed unnecessary crap: saves battery life (Rashed97)
- enable TINY RCU
version3
- attempt to fix axis inversion
- memory patches
mm: ashmem: fix deadlock when system is low on memory
sched: Fix struct autogroup memory leak
staging: android: lowmemorykiller: Change default debug_level to 1
fix memory leaks from the wifi drivers (franciscofranco)
msm: Increase DMA consistent memory zone to 14MB
- init: calibrate: Backported from 3.0 kernel.
- The new jhash implementation
- Update kernel config
- block: tweaked deadline for better performance
- msm: kgsl: Update pagetable on context destruction for A20x
- msm: kgsl: Increase REG_RBBM_CNTL value to 0xFFFF for A200
- Fast Sleep, wake lock timer change. (wistilt2)
- introduce frandom module
- sched: don't call task_group() many times in set_task_rq()
- SmartassV2 is back
- Squashed ipv6 patches
version3a
- return to stock voltages
version4
- use optimized mcs6000 touchscreen driver
- enable RNDIS for USB tethering
- use CodeSourcery toolchain
- net sched: fix some kernel memory leaks
- net/ipv4: Eliminate kstrdup memory leak
- Remove BUGVERBOSE - francofrancisco
- shmem: reduce pagefault lock contention
- posix-timers: RCU conversion
- percpu: zero memory more efficiently in mm/percpu.c:cpu_mem_alloc()
version4a
- test DerCaveman touchscreen driver on 2.6.35.14
version4b
- TWEAK: set rr_interval to 2 for BFS kernel
- cpufreq: adjust conservative governor to save battery
- cpufreq: add MIN_TICKS and SAMPLING_LATENCY_MULTIPLIER
- mm: swaptoken only when swap full
- mm: drop swap cache aggressively
- staging: android: lowmemorykiller: Don't count reserved free memory
- mm: background scan
- msm: memory: Use standard cache routines
- mmc: Make sure host is disabled on suspend
- config: enable options for PPTP
version4c
- mm: optimize Kernel Samepage Merging(KSM)
- kernel:sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire
- vfp: use hard float
- lib/checksum.c: optimize do_csum a bit
- rwsem-spinlock: let rwsem write lock stealable
version4d
- config: battery tweaks
version4e
- config: enable netfilter owner feature for orbot
versionFINAL
- acpuclock: undervolt
- ARM: decompressor: Enable unaligned memory access for v6 and above
- logger: more ram
- msm: kgsl: Add CP_WAIT_FOR_IDLE packet before updating timestamp
- msm: kgsl: Add cache flush for A20x
- msm: kgsl: Set sysfs max clock for devices with no power scale policy
- lib: genalloc: Change chunk allocation to vmalloc
- timed_gpio: backport from CAF
- msm: kgsl: Use the right physical addresses in NOMMU mode
- msm: kgsl: return correct error code for unknown ioctls
- msm: kgsl: Cleanup header file macros
- msm: kgsl: Do not take spinlock when mapping to IOMMU
- msm: kgsl: flush cache otherwise memory will be uninitialized
- msm: kgsl: Add KGSL_DEV_ERR_ONCE helper macro for logging
- msm: kgsl: Do not dereference pointer before checking against NULL
- msm: kgsl: flush outer cache for alloc_page() pages
- msm: kgsl: Write the retired timestamp on resume
- msm: kgsl: Remove duplicate soptimestamp memory write call
- msm: kgsl: Use default hardcoded value for CP's ROQ queue size
- msm: kgsl: Improve the notification timing of idle events
- msm: kgsl: Properly assign the physical address
- msm: kgsl: Fix when GMEM is saved for A2xx
- msm: kgsl: fix format of the rbbm read error message
- msm: kgsl: Pass correct datatype to kgsl_mmu_ptpool_destroy()
- msm: kgsl: Follow reverse sequence of init procedure during exit
- msm: kgsl: Modify kgsl_core_exit to release resources carefully
- msm: kgsl: Align busy times with the end times of samples
- makefile: optimizations
- memcg: let css_get_next() rely upon rcu_read_lock()
- kmalloc: Finer grained memory allocation blocks for the ARM11 systems
3.0 changelog
version5
- 3.0.8 kernel
- use DerCaveman TS driver for now
- fix wlan wakeup after sleep (androidarmv6)
version5a
- acpuclock: OC stability fixes (androidarmv6)
- p500: Fix proximity sensor (thanks cyrix.vs)
- Repair the Novatek driver (androidarmv6)
version5b
- BFS 413
- Build event debugger as module (to prevent log spam) (hephappy)
- TWEAK: set rr_interval to 2 for BFS kernel
version5c
- enable ZRAM
- attempt to enable OTG
- attempt to fix failure of WIFI to connect to networks
version6
- cpufreq: adjust conservative governor to save battery
- cpufreq: add MIN_TICKS and SAMPLING_LATENCY_MULTIPLIER
- PM / Sleep: Do not check wakeup too often in try_to_freeze_tasks()
- mm: swaptoken only when swap full
- mm: drop swap cache aggressively
- staging: android: lowmemorykiller: Don't count reserved free memory
- mm: background scan
- msm: memory: Use standard cache routines
- mmc: Make sure host is disabled on suspend
- genlock: don't spam our log. Thx.
- LCD: Fix deadlock on displaying to panel
- LCD: Enable dithering on mdp dma operation
- Cleanup and include some LG things from 2.6
- rwsem: steal writing sem for better performance
- config: enable options for PPTP
- reintroduce thachtunganh's optimized touchscreen driver (special thanks to DJNoXD for helping me fix a compilation issue)
- config: enable TUN
version7
- msm: cpufreq: Release cpumask_var_t on all cases
- msm: audio: qdsp5: Fix for logical errors in qdsp5
- msm: qdsp5: Fix logging adsp messages for 32-bit address
- msm: smd: Fix race condition while processing SMSM callback
- msm: smsm: Cache Flush on SMSM_RESET
- msm: smd_pkt: fix wake lock locking race condition
- msm: smd_pkt: Fix wakelock concurrency issue
- msm: gic: Remove manual GIC programming for PPI trigger type
- cpufreq: Add cpu utilization statistics to aid decisions made by userspace
- cpufreq: Fix sysfs deadlock with concurrent hotplug/frequency switch
- iommu: Fix flags passed to iommu map functions.
- proc: clean up and fix /proc/<pid>/mem handling
- WIFI PM = FAST
- config: disable event debugging
- Implement OC properly for msm7x27 and msm7x27T
version7a
- Revert "LCD: Fix deadlock on displaying to panel"
- Revert "msm: cpufreq: Release cpumask_var_t on all cases"
- Revert "msm: audio: qdsp5: Fix for logical errors in qdsp5"
- Revert "msm: qdsp5: Fix logging adsp messages for 32-bit address"
- Revert "msm: smd: Fix race condition while processing SMSM callback"
- Revert "msm: smsm: Cache Flush on SMSM_RESET"
- Revert "msm: smd_pkt: fix wake lock locking race condition"
- Revert "msm: smd_pkt: Fix wakelock concurrency issue"
- Revert "msm: gic: Remove manual GIC programming for PPI trigger type"
- Revert "cpufreq: Add cpu utilization statistics to aid decisions made by userspace"
- Revert "cpufreq: Fix sysfs deadlock with concurrent hotplug/frequency switch"
- Revert "This is a combination of 13 commits."
- Revert "This is a combination of 29 commits."
- Revert "iommu: Fix flags passed to iommu map functions."
version7b
- block: tweak SIO scheduler
version7c
- mm: optimize Kernel Samepage Merging(KSM)
- kernel:sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire
- vfp: use hard float
- lib/checksum.c: optimize do_csum a bit
- rwsem-spinlock: let rwsem write lock stealable
- we can take the punishment of higher gpu bus clock
- Enable deep sleep on BCM4325
- net: fix bcm4325
- makefile: arm6 optimizations from fserve
version7d
- LGE_POWER_ON_STATUS_PATCH
- Forward port bluetooth drivers from jb_mr1_chocolate
- Revert "Revert "we can take the punishment of higher gpu bus clock""
- Revert "Revert "on request, make this global for all lge devices""
- Revert "rwsem-spinlock: let rwsem write lock stealable"
- Revert "rwsem: steal writing sem for better performance"
- config: enable netfilter owner feature for orbot
- config: enable CFS-related options
- config: enable triple buffer
version8
- 3.0.68 kernel
- acpuclock: include 710 mhz
- fix permission issue which prevents "active tasks" shown in
- config: enable data limit
- config: PPTP
version8a
- LGE_POWER_ON_STATUS_PATCH
- mm: optimize Kernel Samepage Merging(KSM)
- kernel:sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire
- vfp: use hard float
- lib/checksum.c: optimize do_csum a bit
- rwsem-spinlock: let rwsem write lock stealable
- Enable deep sleep on BCM4325
- config: another attempt at PPTP
version8b
- we can take the punishment of higher gpu bus clock
- Enable deep sleep on BCM4325
- net: fix bcm4325
version8c
- makefile: arm6 optimizations from fserve
- config: TESTING (battery)
- use Der Caveman's touchscreen driver
version9
- config: tweaks
- increase readahead to 2048
- many P350-related commits
- config: no harm in enabling PPP options
- config: fix RAM readings
- config: set CFS as default, enable CONFIG_SCHED_AUTOGROUP
- 3.0.72 kernel
version9a
- Add dynamic writeback feature from 3.1
- Revert "rwsem: steal writing sem for better performance"
- Revert "rwsem-spinlock: let rwsem write lock stealable"
- Major changes to RWSEM algorithm
- config: enable CFS-related options
- config: enable CONFIG_CPU_FREQ_STAT, smartassv2 as default
- config: revert previous change
version9b
- increased VM dirty writeback time to 15 seconds
- many changes to config
- increase min readahead
- implement USB fast charge from chad0989
version9c
- 3.0.73 kernel
- config: enable fast charge, support for triple buffer
version9d
- Forward port bluetooth drivers from jb_mr1_chocolate
- Revert "Major changes to RWSEM algorithm"
- config: enable netfilter owner feature for orbot
- 3.0.78 kernel
version10
- mcs6000: update
- Start wlan after deep-sleep
- bcm4325: Move sources into main folder
- bcm4325: Delete unnecessary files
- qdsp5: Incall recording pcm driver
- Qualcomm ROW scheduler
- block: row: fix compatibility with 3.0 Kernel code
- config: add row scheduler, set performance as default, default TS driver
- deadline: Allow 0ms deadline latency, increase the read speed
- block: row: hardcode values research by the community
- config: turn off module versioning
- 3.0.81 kernel
version11
- acpuclock: undervolt
- ARM: decompressor: Enable unaligned memory access for v6 and above
- block: Zen I/O scheduler
- logger: more ram
- msm: kgsl: Add CP_WAIT_FOR_IDLE packet before updating timestamp
- msm: kgsl: Add cache flush for A20x
- msm: kgsl: Set sysfs max clock for devices with no power scale policy
- lib: genalloc: Change chunk allocation to vmalloc
- msm: bam_dmux: handle system wide low memory conditions
- msm_fb: display: Add timeout for waiting on update
- msm: bam_dmux: enable disconnect ack feature support by default
- msm: bam_dmux: update SSR handling to reflect disconnect ack on by default
- msm: bam_dmux: add missing parameter to bam_dmux_log() call
- msm: bam_dmux: Disable BAM DMUX upon modem timeout
- msm_fb: display: Add pre-multiplied alpha support for MDP4
- msm_fb: Check for Histogram NULL while queuing work
- genlock: backport from CAF
- timed_gpio: backport from CAF
- msm: kgsl: Use the right physical addresses in NOMMU mode
- msm: kgsl: return correct error code for unknown ioctls
- msm: kgsl: Find a mem_entry by way of a GPU address and a pagetable base
- msm: kgsl: Cleanup header file macros
- msm: kgsl: Do not take spinlock when mapping to IOMMU
- msm: kgsl: flush cache otherwise memory will be uninitialized
- msm: kgsl: Add KGSL_DEV_ERR_ONCE helper macro for logging
- msm: kgsl: Do not dereference pointer before checking against NULL
- msm: kgsl: Add markers to identify IB sequence start and end
- msm: kgsl: Allocate physical pages instead of using vmalloc
- msm: kgsl: Don't call through pwrscale functions when entering SLUMBER
- msm: kgsl: flush outer cache for alloc_page() pages
- msm: kgsl: Resolve conflicts in state changes
- msm: kgsl: Write the retired timestamp on resume
- msm: kgsl: Add functions for enabling / disabling a powerscale policy
- msm: kgsl: Search setstate memory descriptor
- msm: kgsl: Remove duplicate soptimestamp memory write call
- msm: kgsl: Use default hardcoded value for CP's ROQ queue size
- msm: kgsl: Improve the notification timing of idle events
- msm: kgsl: Properly assign the physical address
- msm: kgsl: Fix powerscale idle logic
- msm: kgsl: Make tlb flags common for all MMU types
- msm: kgsl: Fix when GMEM is saved for A2xx
- msm: kgsl: fix format of the rbbm read error message
- msm: kgsl: Pass correct datatype to kgsl_mmu_ptpool_destroy()
- msm: kgsl: Follow reverse sequence of init procedure during exit
- msm: kgsl: Only return tlb flush flag if bit is set for given device
- msm: kgsl: Modify kgsl_core_exit to release resources carefully
- msm: kgsl: Align busy times with the end times of samples
- makefile: optimizations
- memcg: let css_get_next() rely upon rcu_read_lock()
- kmalloc: Finer grained memory allocation blocks for the ARM11 systems
- makefile: fix typo
- 3.0.83 kernel
version12
- set default governor and I/O scheduler to ondemandx and SIO, respectively
- 3.0.101 kernel
- FUSE filesystem for KitKat support
version13
- config: enable data usage stats
- config: selinux support
- bcm4325: Clean-up for BCMDONGLEHOST
- config: revert BCM4325 deep sleep
- CVE-2013-2094, CVE-2012-4220, CVE-2012-4221, CVE-2012-4222, CVE-2013-2596, CVE-2013-2595
- Do not ratelimit audit messages. We want to see them all.
- Enable setting security contexts on rootfs inodes.
- yaffs: fix getxattr support
- yaffs: set security attribute at file creation
- usb:gadget:android: avoid sending extra uevents
- Add permission checking for binder IPC.
- config: revert PPP changes
- Revert "lower swappiness to 0"
Re: [KERNEL][GPL][ICS] sweetnsour.kernel
Awesome.. Downloading now:thumbup:
EDIT: Flashed (cfs) kernel on slimbean rom.. So far so good! Will test further for battery etc..
Sent from my LG-P500 using Tapatalk 2
jerry7389 said:
Awesome.. Downloading now:thumbup:
Sent from my LG-P500 using Tapatalk 2
Click to expand...
Click to collapse
First tester? Nice
Any feedback is welcome (battery life, smoothness, performance, etc)
its compatible with my icy snap 1.6 and caf kernel ?
Re: [KERNEL][GPL][ICS] sweetnsour.kernel
fresyk said:
its compatible with my icy snap 1.6 and caf kernel ?
Click to expand...
Click to collapse
Third paragraph in op states it was built for ics.. So yes you can flash it on icy snap
Sent from my LG-P500 using Tapatalk 2
Re: [KERNEL][GPL][ICS] sweetnsour.kernel
Flashing !!!!
Op . Why is it in android devlopment??
Edit: seems good on arjen's piccolo.will report soon
kssood said:
Flashing !!!!
Op . Why is it in android devlopment??
Edit: seems good on arjen's piccolo.will report soon
Click to expand...
Click to collapse
I think because there is nothing original by sweetnsour... when he makes commits or such, he may ask the mod to move to original section
Re: [KERNEL][GPL][ICS] sweetnsour.kernel
If a list of flashable recoveries can belong to original devlopment then why not this?
Anyway its smooth but still a long road to go. Will report about battery and game performance tommorow
Junior Einstein said:
I think because there is nothing original by sweetnsour... when he makes commits or such, he may ask the mod to move to original section
Click to expand...
Click to collapse
My commits can be found on github. I'll leave it in the section you guys think it should belong in. Doesn't really matter to me
Re: [KERNEL][GPL][ICS] sweetnsour.kernel
sweetnsour said:
My commits can be found on github. I'll leave it in the section you guys think it should belong in. Doesn't really matter to me
Click to expand...
Click to collapse
You should ask mod to move this to original section. Nice work
Sent from my LG-P500 using xda app-developers app
Junior Einstein said:
You should ask mod to move this to original section. Nice work
Sent from my LG-P500 using xda app-developers app
Click to expand...
Click to collapse
Maybe :good:
Changelog updated. Also, do you guys prefer the CFS kernel or the BFS kernel?
Thanks to all that are testing
Re: [KERNEL][GPL][ICS|2.6.35.14] sweetnsour.kernel-version1
Ive always been partial to the cfs kernel.. But hey.. Ill take what i can get and be happy i got it
Sent from my LG-P500 using Tapatalk 2
jerry7389 said:
Ive always been partial to the cfs kernel.. But hey.. Ill take what i can get and be happy i got it
Sent from my LG-P500 using Tapatalk 2
Click to expand...
Click to collapse
I never thought our phone was meant for multi-tasking (and I hardly multi-task on it anyway), which is why I implemented BFS. I like how BFS focuses only on the foreground app :victory:
Re: [KERNEL][GPL][ICS|2.6.35.14] sweetnsour.kernel-version1
Heyy, what a good surprise!
I just want to say that this kernel(both versions) work in gb(tested on cyanmobile), I haven't tested bt and gps but they should work.
Thanks for the kernel, will use it and give more feedback
Sent from my LG-P500 using xda premium
FPChaim said:
Heyy, what a good surprise!
I just want to say that this kernel(both versions) work in gb(tested on cyanmobile), I haven't tested bt and gps but they should work.
Thanks for the kernel, will use it and give more feedback
Sent from my LG-P500 using xda premium
Click to expand...
Click to collapse
Thanks for testing this on GB! And feedback is much appreciated :good:
Re: [KERNEL][GPL][ICS|2.6.35.14] sweetnsour.kernel-version1
lol ! Must remove ics from the topic name cuz its now tested on gb ics and jb
kssood said:
lol ! Must remove ics from the topic name cuz its now tested on gb ics and jb
Click to expand...
Click to collapse
I'm going to wait for more feedback from FPChaim first before I do that
Re: [KERNEL][GPL][ICS|2.6.35.14] sweetnsour.kernel-version1
sweetnsour said:
I'm going to wait for more feedback from FPChaim first before I do that
Click to expand...
Click to collapse
Actually using SIO scheduler is better for our phones as it gives good performance and battery life. Just saying.
Sent from my LG-P500 using xda premium
Related
NOTICE: This is COMPATIBLE with ALL Samsung Rooted Stock and Custom ROMs
For frequency control use fauxclock from Google Play
Just a statement regarding kernel source: The Kernel Source is of course covered under GPL version 2. Free software does NOT mean no work or time was spent working on it. I have donated a large sum of my free time to hack this kernel. If you use my modified kernel source in parts or in its entirety, I kindly ask you mention its origins and to send me a github pull request or PM whenever you find bugs or think you can help improve my kernel hack further. This way the entire community will truly benefit from the spirit of open source. Thank you!
Hi XDA members and fellow Samsung users:
This is my sixteenth kernel hack. I want to thank my Team Kang tea mates Roman, Whitehawks and CMenard, and several others I cannot recall for inspiring me to venture into this unfamiliar territory for me.
What is a Kernel? The Kernel is the Foundation in which everything else builds upon in any software system.
[Car Analogy]: Kernel is like the Engine, Electrical system and the Transmission to a car. The Library, Framework and the Apps [AKA ROM] are the body frame and the rest of the Car.
THIS KERNEL is BASED ON Samsung Source Code. So it is COMPATIBLE ONLY WITH Samsung Gingerbread Builds.
Please DO NOT use any task killers, they DO NOT improve performance nor battery life. They INTERFERE with your phone's stability (more crashes) and App compatibilities (Forced Close).
CleanCache (via ZCache backend)
ZCACHE is a new technology I introduced to Qualcomm Kernel. ZCACHE is a compressed cache similar to ZRAM but the similarity ends there. ZCache is meant to provide as many "cleancache" pages (non-dirty or untouched "virgin" memory) to apps that request for new memory. CleanCache is very easy to allocate and no additional penalty are required to hand them out, so having more CleanCache pages will improve performance. Under heavy memory pressure, often times the kernel will NOT have enough CleanCache pages, so the kernel has to do EXTRA work to reclaim dirty cache pages and clean them for the new apps that's requesting for them. The described process creates a performance hit for the kernel and the app, so the idea is to use compression to create more CleanCache pages available for use. Of course there's a penalty to pay for using compression, but the trade-off between compression penalty and the penalty for reclaiming dirty cache pages and allocating them after cleaning is smaller for compression, so in the end, CleanCache should add more performance.
ZRAM (aka CompCache aka RAMZSwap)
ZRAM is an updated version formally known as CompCache and RAMZSwap. It was originally designed for 2.6.38.xx kernels, I have backported to our 2.6.35.xx kernel. ZRAM allows real-time compression of memory objects in RAM thus reducing memory pressure for the Linux kernel and can keep more apps in memory longer (more apps in RAM == better performance, less fetching from slower MMC or SDCard). Compression, however, is not Free. Some CPU cycles are required to do the compress/decompression, so there's a slight penalty for it. The original CompCache / RAMZSwap required a user space binary to control its behavior which adds additional penalty to performance, but the new version ZRAM eliminated the need for a separate dedicated daemon, thus reducing the overhead and increased performance from the old CompCache by 20%. Therefore, with the newer implementation of ZRAM interface, the performance penalty is almost negligible.
Joe's RCU (Optimized for Small SMP systems - NOT YET ADDED)
Joe Korty has created an RCU for small SMP systems (> 32 cores). His approach is to isolate all the Garbage Collection (GC, a slow time consuming but necessary processing) to a single core, thus allowing other cores to ONLY work on real required processing. This will allow the additional cores to complete their assigned tasks as fast as possible (not bogged down by GC) then immediately go back to a suspended state (saving battery).
Fast No Hz RCU (Optimized for SMP operations)
Fast NoHz is an optimized version of the traditional Tree RCU. Many new kernels are using the Tickless NoHz design. This RCU is tailored and designed to work with the new NoHz kernel system.
SmartAssV2 Governor (Balanced - NOT COMPATIBLE WITH QUALCOMM 8x60)
This governor has a built-in "profile" similar to SetCPU, so screen off will use lower clock rate thus conserve more battery, but it also has a fast wake up feature so that user interaction will not see the lag when switching from Sleep to Wake state.... (So SetCPU Profiles are sorta redundant when using this governor, you can still use SetCPU to OC to higher than default Clock frequency).
Interactive Governor (Performance - NOT COMPATIBLE WITH QUALCOMM 8x60)
This governor is designed to put more priority to User Interface (UI aka Apps) tasks, therefore appears more responsive then the traditional OnDemand governor. So if you want the smoothest UI interaction, this governor is for you...
Brain F*ck Scheduler - (BFS - NOT COMPATIBLE WITH QUALCOMM 8x60)
This scheduler is designed to be simple and speedy tailor specifically for user interface type systems such as desktop/smart phone devices where user interaction is MORE important than serving 1 million web requests (CFS, the default scheduler) at the same time (think of nimble desktop workstations vs large corporate servers).
SLQB - (SLAB allocator with Queue)
This memory allocator is designed for small number of CPUs system (such as desktop or smart phone devices). This allocator is design to be simple and it is optimized for using order-0 pages as much as possible (order-0 pages are the simplest therefore quickest type of memory in a Linux system to allocate). Not all kernels are using SLQB including CM7 main line...
Fair Budget Queue (BFQ I/O scheduler)
This I/O scheduler is an improvement on top of Completely Fair Queue (CFQ). CFQ is fair in terms of time but not in terms of throughput / bandwidth, so BFQ make sure that both time and throughput / bandwidth are balanced across all requests.
Installation Instructions:
Here's a step by step instruction to install this kernel:
[ CFS ] (Mainline Edition - should work with ALL phones!)
The File ==> Skyrocket kernel 010m (1.73 GHz, L2 speed up to 1.56 GHz) <==
[ CFS ] (Ultimate Edition - should work with most phones but NOT GUARANTEED!)
The File ==> Skyrocket kernel 010u (1.73 GHz, L2 speed up to 1.56 GHz, GPU 3D @ 320 MHz, GPU 2D @ 220 MHz, CleanCache Enabled) <==
1. download the above file (via phone directly or to a PC)
2. copy the downloaded zip file to /sdcard/download/
3. Open ROM Manager and select "Reboot into Recovery" and select "OK"
4. Once in recovery, select "wipe cache partition", select "Yes", then select "advanced", then select "Wipe Dalvik Cache", then select "Yes" again. Once finished, click the back button to go back to the main recovery menu. On that menu, select "Install Zip From SDCad", then select "Choose zip from SDCard", then go to /sdcard/download and select the downloaded zip file and let it run its script.
5. Once the script is done, select "reboot system now"
Note: After FLASHING, the first reboot may take longer than usual, please be patient... After the first reboot, it may lag during initial load (let everything finish loading). Once everything is loaded and phone is ready for use, reboot the phone a 2nd time and the lag will be gone and everything should be silky smooth... [/b]
[ Advanced Users: ]
[ Optional: ]
[ For Kernel Devlopers ONLY: ]
The File ==> My Global VDD_TABLE for under volt patch <==
Optional Under voltage:
Code:
[ to over volt ALL frequencies by 25000 uv (microvolts) ]
echo "+25000" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
[ to under volt ALL frequencies by 25000 uv (microvolts) ]
echo "-25000" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
[ to set a specific frequency (ie 1.18 GHz)
with a specific voltage (ie 1.0875 volts) ]
echo "1188000 1087500" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
CPU Frequency Voltage Table Example
Code:
192000: 812500
310500: 812500
384000: 812500
432000: 812500
486000: 837500
540000: 850000
594000: 862500
648000: 875000
702000: 900000
756000: 925000
810000: 937500
864000: 962500
918000: 962500
972000: 962500
1026000: 975000
1080000: 987500
1134000: 1000000
1188000: 1012500
1242000: 1025000
1296000: 1050000
1350000: 1075000
1404000: 1100000
1458000: 1112500
1512000: 1125000
1566000: 1150000
Optional: Stock Clock Frequencies for Dual CPUs
Code:
su
echo 192000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 1188000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 1 > /sys/devices/system/cpu/cpu1/cpufreq/online
echo 192000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo 1188000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
NEWS BULLETIN:
Version 010 is OUT for skyrocket variant!
Please don't hesitate to talk among yourselves and help each other out... The XDA community is what inspired me to hack kernels for everyone since everyone here is nice and helpful to each other... Keep helping each other.... Famous proverb: It's better to give than to receive...
BUGS:
Not All CHIPS ARE CREATED EQUAL
TO DO:
version 1.x.x -- Haven't thought about it yet...
History:
See Post below...
Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this kernel!!!
My github Complying with GPL and XDA rulez
Follow me on
:
If you find this Kernel useful, feel free to hit the [Thanks] button below
Version History
Version 001 (Deprecated)
internal
Version 002 (Deprecated)
internal
Version 003 (Deprecated)
Overclocking: reduced max to 1.728 GHz due to PLL limitations
Overclock: Initial overclock patch
Added Global CPU Voltage table used for adjusting voltage table
Added Scaling_Available_Frequencies back to cpufreq sysfs interface
mm: retry page fault when blocking on disk transfer
PM / Sleep: Drop pm_op() and pm_noirq_op()
PM / Sleep: Unify diagnostic messages from device suspend/resume
sched/rt: code cleanup, remove a redundant function call
ARM: Add optimised swahb32() byteswap helper for v6 and above
hugetlb: Replace BUG() with BUILD_BUG() for dummy definitions.
kernel.h: Add BUILD_BUG() macro.
nfs: writeback pages wait queue
block: limit default readahead size for small devices
PM / Suspend: Fix bug in suspend statistics update
make default readahead size a kernel parameter
tty: disable kernel CIQ tty driver
mm/vmalloc.c: eliminate extra loop in pcpu_get_vm_areas error path
PM / Sleep: Remove pm_runtime_suspended() from __pm_generic_call()
lockdep: print lock name for lockdep_init_error
init/main.c: execute lockdep_init as early as possible
kernel:sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire
sched: don't call task_group() many times in set_task_rq()
dm-cache: block level disk cache target for device mapper
partition_sched_domains: Do not destroy old sched domain on cpu_up
sched: Do not block when waiting to free old root domain
rcu-tree: Check for extended quiescent state at start of gp
printk: Don't allow cpu to get console lock during hotplugging
cpu-hotplug: Add the function 'cpu_hotplug_inprogress'
msm: platsmp: Remove extraneous boot_secondary delay
CPU hotplug, PM: Remove unused symbol 'suspend_cpu_hotplug'
kernel: Set the command name of the idle tasks in SMP kernels v3
net: Reorder incoming packets in PPPoLAC and PPPoPNS.
PM: wakelocks: Display wakelocks preventing suspend by default
PM: wakelocks: Don't report wake up wakelock if suspend aborted
arm: Implement ticket spin-locks
Decompressors: Get rid of set_error_fn() macro
ARM: 6428/1: add cpu_idle_wait() to support CPUidle on SMP systems.
msm: Kconfig: Enable inline lock functions
crypto: crc32c should use library implementation
crc32: Bolt on crc32c
crc32-add-slicing-by-8.diff
crc32-add-real-8-bit.diff
lib/sha1: use the git implementation of SHA-1
ARM: support XZ compressed kernels
Squashfs: Add XZ compression configuration option
Squashfs: add XZ compression support
decompressors: add boot-time XZ support
decompressors: add XZ decompressor module
CFS Auto Group V2 - Changes since last:
Added NEON and other Snapdragon optimizations
compilation: fix many Samsung sloppy coding warnings (part 1)
patch: Add BFQ I/O scheduler by Paolo Valente
patch: add SLQB memory allocator by Nick Piggin
kernel patch: 2.6.35.13 -> 2.6.35.14
make: fix Kconfig errors by Samsung
kernel patch: 2.6.35.12 -> 2.6.35.13
kernel patch: 2.6.35.11 -> 2.6.35.12
Initial Commit for T-Mo Hercules!
Version 004 (deprecated)
fail!
Version 005 (deprecated)
re-baseline using Romanbb's initial commit to resolve compilation issues and problems.
all patches from version 003 still apply!
Version 006 (deprecated)
board/device: Add GPU turbo boost for 2D as well
watchdog: increase pet time to ten seconds
board/devices: enable GPU turbo mode @ 320 Mhz
OTG: Fix fast plug out/in wall charger charging issue
gadget: f_mtp: Fix problems transferring files from device to host
gadget: f_mtp: Make sure request is dequeued if transfer is canceled
gadget: f_mtp: Zero length packet fixes
gadget: f_mtp: Support for file transfer length greater than 4 gigabytes
gadget: f_mtp: Return zero result for successful file transfer.
gadget: f_mtp: MTP driver cleanup:
msm_otg: Increment PM usage counter for suspend failure cases
defconfig: 8x60: Enable USB accessory function
gadget: android: Restore default composition upon accessory disable
gadget: f_accessory: Set bNumEndpoints to correct value of 2
gadget: f_accessory: Add string for accessory's unique serial number
gadget: f_accessory: Clear disconnected flag when driver file is opened
gadget: f_accessory: Clear previous strings on ACCESSORY_GET_PROTOCOL
gadget: f_accessory: Clear accessory strings when USB is disconnected
gadget: f_accessory: Misc improvements and cleanup:
gadget: f_accessory: New gadget driver for android USB accesories
gadget: android: Support switching vendor ID when configuration changes
audio: qdsp6v2: Modify the wait timer for apr registration
audio: qdsp6v2: Reduce the pcm write timeout value
audio: qdsp6v2: Fix crash with erroneous aac playback
audio: qdsp6v2: Send session ID in RTAC APR packet
audio: qdsp6v2: Disable idle wakelocks for pcm driver
audio: qdsp6v2: Fix for enabling dolby aac decoder.
audio: qdsp6v2: Unification changes for AAC Multichannel decoder
audio: qdsp6v2: Add Decoder Unification changes.
audio: qdsp6v2: Enabling Dolby pulse aac codec.
audio: qdsp6v2: Add fmt type adif in aac driver.
audio: qdsp6v2: Add support for aac dual mono playback
audio: qdsp6v2: Address multiple seek issues in AAC 5.1
audio: qdsp6v2: Add support for multichannel AAC.
audio: qdsp6v2: Add support for output port flush
audio: qdsp6v2: correction in allocation of number of dma_channels.
camera: configure the mipi csi based on lanecount
camera: Postprocessing framework changes
camera: Fix recording state machine bug
camera: Remove additional check in msm_queue_drain
rpc: While powering down flush all the rpcrouter workqueues
rpc: Reader thread to allocate memory without holding a spinlock
rpc: Reorganize the usage of spinlocks in RPC Router reader thread
smd_pkt: Extend read operation to receive data larger than SMD FIFO
gsmd: Save interrupt state when using spinlocks
audio: qdsp6v2: Close smd ports upon failure to open.
msm_fb/hdmi: fixed merge error
HDMI: EDID > 2 blocks, params not set.
msm_fb: Check for ACP and ACFG register before reset core.
HDMI: CEC: Hardware FSM reset.
msm_fb: Remove Audio Packet Control Register setup
HDMI: Driver support for CEC feature
HDMI: Driver support for CEC feature
HDMI: Remove audio packet setup for ACP, ISRC
rtc-msm: Fix uptime corruption due to slow clock overflow.
msm_serial_hs: Fix issue related to sleeping in invalid context
msm_serial_hs_lite: Set UART Clock rate to zero, when it is disable
tsens: Add suspend/resume for TSENS
kgsl: New low power level
kgsl: Count a percentage of _io time
kgsl: Clocks should be set to the active level during NAP
kgsl: Add a periodic check to turn the TZ algorithm on
kgsl: Update pwrlevel_change
input/keyboard: add BLN support
Version 007 (deprecated)
video/msm/mdp: update mdp driver from ATT SkyRocket Source
msm_fb: Removing HDCP timedout error.
msm_fb: Fixing Aspect Ratio
thermal: msm_tsens: Fix clearing interrupt bit on resume
msm: sdio: Replace banned/deprecated strcmp with strncmp
mmc: msm_sdcc: use prog_done for all commands having R1B response type
msm: vidc: Fix handling EOS with bitstream error.
staging: zcache: remove zcache_direct_reclaim_lock
staging: zcache: reduce tmem bucket lock contention
staging: zcache: fix crash on cpu remove
staging: zcache: fix cleancache crash
Staging: zcache: signedness bug in tmem_get()
staging: zcache: fix crash on high memory swap
staging: zcache: fix typos
staging: zcache: fix possible sleep under lock
zcache: Fix build error when sysfs is not defined
zcache: Use div_u64 for 64-bit division
staging: zcache: include module.h for MODULE_LICENSE
staging: zcache: module is GPL
staging: fix zcache building
staging: zcache: support multiple clients, prep for KVM and RAMster
staging: zcache: fix memory leak
staging: Allow sharing xvmalloc for zram and zcache
zram: Set initial disksize to some default value
zram: Simplify zram disk resizing interface
zram: Make gobal variables use unique names
zram: Kernel config option for number of devices
zram: Fix sparse warnings
zram: driver update to latest stable release on 2011-07-18
kernel:mm: Backported vzalloc to support ZRAM
Staging: zram: simplify zram_make_request
Staging: zram: make zram_read return a bio error if the device is not
initialized
Staging: zram: round up the disk size provided by user
Staging: zram: make ZRAM depends on SYSFS
zram: various improvements and cleanups
zram: Rename ramzswap to zram in documentation
zram: Rename ramzswap to zram in code
zram: Rename ramzswap files to zram
zram: Support generic I/O requests
staging:zcache: Enable zcache by default
drivers/staging: zcache: dynamic page cache/swap compression
Version 008 (Deprecated)
Update baseline source code with Skyrocket specific bits from ATT SkyRocket Source Release
Version 009 (Short Term Release)
[ CFS ] (Mainline Edition - should work with ALL phones!)
The File ==> Skyrocket kernel 009m (1.73 GHz, L2 speed up to 1.56 GHz) <==
[ CFS ] (Ultimate Edition - should work with most phones but NOT GUARANTEED!)
The File ==> Skyrocket kernel 009u_r2 (1.73 GHz, L2 speed up to 1.56 GHz, GPU 3D @ 320 MHz, GPU 2D @ 220 MHz) <==
mmc: core: Prevent too long response times for suspend
msm_fb: [HDMI_COMPLIANCE] Update audio ARCs for 480p
msm: audio: qdsp6v2: Fix memory leak in aac encoder
mm-camera: configure the mipi csi based on lanecount
RCU: JRCU 2.6.35.13, consolidated
Reverted battery draining patches
Version 010 (Current)
Fixed USB Host Notification for Skyrocket (not supported)
Remove Android USB Gadget Accessory for Skyrocket (not supported)
msm: vidc: Remove endianness change for 1080p firmware. …
vidc: 1080p: Increase context memory size of the H.264 encoder. …
zcache: avoid AB-BA deadlock condition …
msm_fb: HDMI-CEC: Line latch patch …
msm: camera: Free buffers from frame queue at open …
msm: vidc: insert break in switch-case statement …
msm: camera: Update csi interrupt trigger conditon …
msm: vidc: Remove endianness change for 1080p firmware. …
vidc: 1080p: Increase context memory size of the H.264 encoder. …
msm: qdsp6v2: Invalid memory access of timpani regset array …
sched: disable GENTLTE_FAIR_SLEEPERS for better performance on Android
revert back to FasNoHz RCU
Skyrocket Source Update: Add debug switch to board PM
Skyrocket Source Update: misc board driver updates
Skyrocket Source Update: regulator driver update
Skyrocket Source Update: misc minor driver clean ups
Skyrocket Source Update: Make CIQ a standalone option so it can be di…
Skyrocket Source Update: Update Headset Jack detection driver
Skyrocket Source Update: Update CHARM Modem Interface driver
Skyrocket Source Update: Update battery driver
Skyrocket Source Update: Update GPIO driver
Skyrocket Source Update: update misc USB drivers
Skyrocket Source Update: Update Timpani Profiles for Skyrocket and He…
Skyrocket Source Update: Update Touch Screen Driver
Skyrocket Source Update: Update Power Supply Driver to fix DDR issues
Skyrocket Source Update: Update Camera Media driver
Skyrocket Source Update: Add Samsung BT WL keyboard support
Skyrocket Source Update: Update BRCM WiFi driver
Skyrocket Source Update: Update Misc HDMI and Video drivers
Skyrocket Source Update: Update LowMemoryKiller OOM_Adj settings
Skyrocket Source Update: Add Smart Dimming
Skyrocket Source Update: Add suspend_sys_sync to kernel power management
[ Add-Ons ]
Gideonx's scripts for OC / UV.
http://forum.xda-developers.com/showpost.php?p=20946429&postcount=574
Make sure you hit [ thanks ] button for him
Yes finally going official! People go ahead and give it try its great kernel. Nothing to worry about. battery life is great too.
Thank you Faux!!
Is GideonX's script compatible with the SkyRocket as well?
Some benchmarks I ran using this kernel from the T989 Herc.
Treatcon said:
{
"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 image has been resized, click here to see the fullsize original
This image has been resized, click here to see the fullsize original
Loving this kernel, doing a little stress testing for under volting. Not bad benchmarks! UV to -100000 across the board with GideonX script and managed to keep the same benchmark scores, +/- 10 or so.
Click to expand...
Click to collapse
Treatcon said:
Thank you Faux!!
Is GideonX's script compatible with the SkyRocket as well?
Some benchmarks I ran using this kernel from the T989 Herc.
Click to expand...
Click to collapse
Yes, Gideonx's script is compatible with all of my SGS2 variants.
Thanks again for the help!!!!! And for all the haters now feel the love
Monster cm7
What's ur oc/uc?
tacotino said:
Thanks again for the help!!!!! And for all the haters now feel the love
Monster cm7
Click to expand...
Click to collapse
Great to have you on board. You did great things back when I had the mt4g. Always very involved.
Sent from my SAMSUNG-SGH-I727 using Tapatalk
appdroid said:
What's ur oc/uc?
Click to expand...
Click to collapse
I don't have it UV/ I leave it all alone.. just have some settings.. like
Screen off run Max at 384 min 384
20< 1000mhz
That's it nothing crazy
Monster cm7
thanks for all work and the new betas faux, appreciate the time bruh.
So far this Kernel is the best one i have seen on battery with OC'ing.
Awesome, thanks for developing this. Will check out the otg tonight, a feature I was longing to have on an OC Kernel.
How's the battery life with this Kernel? Does anyone see any problems installing this with the Super Stock 2.3.6 ROM?
I am not seeing the smartASSv2 governor. Anyone else seeing it?
Battery life is great its been 15hours 16% left. I m heavy user flashed new stuff, benchmarks and all stuff during these 15hrs.
dvandam said:
How's the battery life with this Kernel? Does anyone see any problems installing this with the Super Stock 2.3.6 ROM?
Click to expand...
Click to collapse
SalTNutz said:
I am not seeing the smartASSv2 governor. Anyone else seeing it?
Click to expand...
Click to collapse
Im pretty sure it does not have this option........
SalTNutz said:
I am not seeing the smartASSv2 governor. Anyone else seeing it?
Click to expand...
Click to collapse
Looks like powersave isn't there either...
He listed it in his post on the first page.
---------- Post added at 04:43 PM ---------- Previous post was at 04:42 PM ----------
the2rrell said:
Im pretty sure it does not have this option........
Click to expand...
Click to collapse
From his post
SmartAssV2 Governor (Balanced)
This governor has a built-in "profile" similar to SetCPU, so screen off will use lower clock rate thus conserve more battery, but it also has a fast wake up feature so that user interaction will not see the lag when switching from Sleep to Wake state.... (So SetCPU Profiles are sorta redundant when using this governor, you can still use SetCPU to OC to higher than default Clock frequency).
appdroid said:
Battery life is great its been 15hours 16% left. I m heavy user flashed new stuff, benchmarks and all stuff during these 15hrs.
Click to expand...
Click to collapse
Does undervolting help with battery life?
it will help but no need. Kernel does best job without tweaking.
dvandam said:
Does undervolting help with battery life?
Click to expand...
Click to collapse
[HTC One SV][Kernel] Jelly Bean 4.1.2: System write protection removed (k2u & k2ul)
I make a thread here for a kernel for the HTC One SV with Jelly Bean 4.1.2 (for k2u & k2ul).
It is not made by me, i only start the thread for discussion here!
Credits:
- to rollon76 for providing it on xda
- to BrateloSlava for changelog
- to jmztaylor and Facepalm crew for getting S-Off and for his tips
- bkcokota (for his cwm recovery, a start for development)
- MikG for TWRP 2.5 recovery
- the community where it did a lot of research
Features:
- System write protection removed
- USB OTG (you need external charger)
- Fast charging
- many more
Changelog:
Code:
-------------------
ADD:
-------------------
zramdisk + snappy compression for swap
Force AC charge mode at will
dynamic file sync control
Cpupower driver
CPR (core power reduction) in S/W mode
framework for synchronization between multiple drivers
pwrctrl - krait droop detectors are always off
Adaptive Voltage Scaling (AVS) + software controlled AVS
---As can be seen, there are several approaches to power management. Which / what alone or in combination - undecided. Time left: it's time to return the device..
-------------------
Tweaks and patches:
-------------------
MMC secure disabled
msm: pil-riva: allow forcing of insecure mode
optimize slack
optimize slub
teak to smpc
switch do_fsync() to fget_light()
USB: otg: undo HTC's USB_OTG_HOST ifdef
arm: Allow CPU-supported unaligned accesses
ARM: net: JIT compiler for packet filters enabled by default
LIB: ARM: use generic strnlen_user and strncpy_from_user
sched.fair improve the group logic
Use AC charging for unknown chargers.
patch from caf to cpufreq
add dynamic fsync from Chad Goodman
reclaim some ram from logger
sched: Fix load avg vs cpu-hotplug
sched: Change rq->nr_running to unsigned int
sched/nohz: Fix rq->cpu_load calculations
Autogroup patch group by current user android UID
sched: Improve scalability via 'CPU buddies'
lib/memcopy: use glibc version
lib/string: use glibc version
SCHEDULER: Autogroup patch group by current user android UID instead
cpupower: update the cpu_power according to cpu load
ARM: 7011/1: Add ARM cpu topology definition
Optimized ARM RWSEM algorithm
scheduler: compute time-average nr_running per run-queue
proc: enhance time-average nr_running stats
scheduler: Re-compute time-average nr_running on read
sched: fix rq->lock recursion
fix possible memory leak
sched: Improve scalability via 'CPU buddies', which withstand random
msm: mdp: Disable vsync in video off
msm: mdp: Set clock rates on external interface as needed
msm: mdp: Send fake vsync only when enabled from userspace
ARM: 7663/1: perf: fix ARMv7 EVTYPE_MASK to include NSH bit
ARM: VFP: fix emulation of second VFP instruction
ARM: fix scheduling while atomic warning in alignment handling code
Don't force RUN_QUEUE_STATS to be on
Disable CONFIG_MSM_SHOW_RESUME_IRQ
lib/lzo: Update LZO compression to current upstream version
cpufreq: Convert the cpufreq_driver_lock to a rwlock
cpufreq: Convert the cpufreq_driver_lock to use RCU
rwsem: steal writing sem for better performance
PM: Introduce suspend state PM_SUSPEND_FREEZE
wakelock: instead of directly going to suspend_mem, use the new suspend
posix-cpu-timers: Fix nanosleep task_struct leak
tty: Prevent deadlock in n_gsm driver
Driver core: treat unregistered bus_types as having no devices
mm: mmu_notifier: have mmu_notifiers use a global SRCU
mm: mmu_notifier: make the mmu_notifier srcu static
mmu_notifier_unregister NULL Pointer deref and multiple ->release()
futex: Revert "futex: Mark get_robust_list as deprecated"
inotify: remove broken mask checks causing unmount to be EINVAL
fs/block_dev.c: page cache wrongly left invalidated after revalidate
drivers/video/backlight/adp88?0_bl.c: fix resume
mm/fadvise.c: drain all pagevecs if POSIX_FADV_DONTNEED fails to disc
drivercore: Fix ordering between deferred_probe and exiting initcalls
umount oops when remove blocklayoutdriver first
NLM: Ensure that we resend all pending blocking locks after a reclaim
sunvdc: Fix off-by-one in generic_request().
vgacon/vt: clear buffer attributes when we load a 512 character font
ondemand: add default values for new ondemand parameters
target: Fix divide by zero bug in fabric_max_sectors for unconfigured
ASoC: wm2200: correct IN2L and IN3L digital mute
ARM: 7643/1: sched: correct update_sched_clock()
drivers/video: fsl-diu-fb: fix pixel formats for 24 and 16 bpp
fbcon: don't lose the console font across generic->chip driver switch
fb: rework locking to fix lock ordering on takeover
fb: Yet another band-aid for fixing lockdep mess
mmc: sdhci-esdhc-imx: fix host version read
bridge: set priority of STP packets
net: fix infinite loop in __skb_recv_datagram()
ipv4: fix a bug in ping_err()
ipv6: use a stronger hash for tcp
sock_diag: Fix out-of-bounds access to sock_diag_handlers
vlan: adjust vlan_set_encap_proto() for its callers
ftrace: Call ftrace cleanup module notifier after all other notifiers
block: fix ext_devt_idr handling
block: fix synchronization and limit check in blk_alloc_devt()
sysctl: fix null checking in bin_dn_node_address()
fs: Fix possible use-after-free with AIO
ext4: check bh in ext4_read_block_bitmap()
ext4: fix race in ext4_mb_add_n_trim()
ext4: fix xattr block allocation/release with bigalloc
ext4: fix free clusters calculation in bigalloc filesystem
nfsd: Fix memleak
vhost: fix length for cross region descriptor
svcrpc: make svc_age_temp_xprts enqueue under sv_lock
cpuset: fix cpuset_print_task_mems_allowed() vs rename() race
cgroup: fix exit() vs rmdir() race
sched: remove HTC attempt to patch exit/rename race condition
kernel/workqueue.c: avoid array subscript above array boundaries
net/sunrpc: fix 'subbuf.[...]' may be used uninitialized in this func
slimbus: Fix channel concurrent usage during reconfiguration sequence
slimbus: Decrement channel reference during reconfigure now
msm: kgsl: Always reset global ts_cmp_enable on GPU interrupts
msm: kgsl: Remove extra interrupts when setting MMU state
iommu/msm: fix the include guard in iommu.h
msm: kgsl: Make the GPU device aware of the next pending event
hw_random: make buffer usable in scatterlist
virtio: rng: disallow multiple device registrations, fixes crashes
PM / Sleep: Look for wakeup events in later stages of device suspend
PM / Sleep: Use wait queue to signal "no wakeup events in progress"
PM / Sleep: Change wakeup source statistics to follow Android
power: Remove legacy wakelock code
fs: proc: stat: fix /proc/stat not showing all cpus
gpu: ion: Align va address to biggest buffer size
ARM: DMA: Fix struct page iterator in dma_cache_maint() to work with sparsemem
writeback: fix writeback cache thrashing
Asoc: msm: Add G711 media type support for Voip
msm: socinfo: Add support for detecting Krait and Krait Pass
Notice:
I tested this myself on a european non-lte phone and it works. But as always bricks can happen and i am not responsible if your phone is dead afterwards.
Don't do this, if you are not experienced enough! Flash it on your own risk!
Download:
k2_ul (with LTE): htc_k2_ul_jb_sense_kernel.zip
k2_u (without LTE): htc_k2u_only_jb_kernel.zip
Sourcecode:
Github
How to install:
Download the zip file that fits to your device.
If you are S-Off, flash over recovery.
If you are Htcdev.com unlocked, extract (only!) boot.img and copy it to your fastboot folder.
Copy the zip to the external sd card and flash it over recovery.
Flash the boot.img over fastboot with the following command:
Code:
fastboot flash boot boot.img
For both: wipe Cache and Dalvik Cache afterwards.
Have fun.
Kernel
Hello is there any kernel with sweep2wake and two way call recording?
VSPZ said:
Hello is there any kernel with sweep2wake and two way call recording?
Click to expand...
Click to collapse
Not until now.
Could we use CWM recovery? Or must we use stock recovery?
Stupidest said:
Could we use CWM recovery? Or must we use stock recovery?
Click to expand...
Click to collapse
You MUST use CWM or TWRP! With stock recovery you can't flash this.
old.splatterhand said:
You MUST use CWM or TWRP! With stock recovery you can't flash this.
Click to expand...
Click to collapse
Thx for the quick reply
You're welcome.
Couldn't get it to work, after flashing it through CWM the wi-fi is not connecting and the features described are not working either. Switching back to stock kernel solves the wi-fi problem though
I'm using it on k2_ul the 4G version
EDIT: I think I forgot the fastboot part, will try it again, sorry
It worked!! :victory:
Could you elaborate more about what more this kernel does? Sorry if I double posted though. :angel:
All i know is whats posted under "Features".
Its made by an russian One SV User and i don't speak russian.
And Google translator is also very hard...
About this kernel
What's new (I quote the author):
Code:
-------------------
ADD:
-------------------
zramdisk + snappy compression for swap
Force AC charge mode at will
dynamic file sync control
Cpupower driver
CPR (core power reduction) in S/W mode
framework for synchronization between multiple drivers
pwrctrl - krait droop detectors are always off
Adaptive Voltage Scaling (AVS) + software controlled AVS
---As can be seen, there are several approaches to power management. Which / what alone or in combination - undecided. Time left: it's time to return the device..
-------------------
Tweaks and patches:
-------------------
MMC secure disabled
msm: pil-riva: allow forcing of insecure mode
optimize slack
optimize slub
teak to smpc
switch do_fsync() to fget_light()
USB: otg: undo HTC's USB_OTG_HOST ifdef
arm: Allow CPU-supported unaligned accesses
ARM: net: JIT compiler for packet filters enabled by default
LIB: ARM: use generic strnlen_user and strncpy_from_user
sched.fair improve the group logic
Use AC charging for unknown chargers.
patch from caf to cpufreq
add dynamic fsync from Chad Goodman
reclaim some ram from logger
sched: Fix load avg vs cpu-hotplug
sched: Change rq->nr_running to unsigned int
sched/nohz: Fix rq->cpu_load calculations
Autogroup patch group by current user android UID
sched: Improve scalability via 'CPU buddies'
lib/memcopy: use glibc version
lib/string: use glibc version
SCHEDULER: Autogroup patch group by current user android UID instead
cpupower: update the cpu_power according to cpu load
ARM: 7011/1: Add ARM cpu topology definition
Optimized ARM RWSEM algorithm
scheduler: compute time-average nr_running per run-queue
proc: enhance time-average nr_running stats
scheduler: Re-compute time-average nr_running on read
sched: fix rq->lock recursion
fix possible memory leak
sched: Improve scalability via 'CPU buddies', which withstand random
msm: mdp: Disable vsync in video off
msm: mdp: Set clock rates on external interface as needed
msm: mdp: Send fake vsync only when enabled from userspace
ARM: 7663/1: perf: fix ARMv7 EVTYPE_MASK to include NSH bit
ARM: VFP: fix emulation of second VFP instruction
ARM: fix scheduling while atomic warning in alignment handling code
Don't force RUN_QUEUE_STATS to be on
Disable CONFIG_MSM_SHOW_RESUME_IRQ
lib/lzo: Update LZO compression to current upstream version
cpufreq: Convert the cpufreq_driver_lock to a rwlock
cpufreq: Convert the cpufreq_driver_lock to use RCU
rwsem: steal writing sem for better performance
PM: Introduce suspend state PM_SUSPEND_FREEZE
wakelock: instead of directly going to suspend_mem, use the new suspend
posix-cpu-timers: Fix nanosleep task_struct leak
tty: Prevent deadlock in n_gsm driver
Driver core: treat unregistered bus_types as having no devices
mm: mmu_notifier: have mmu_notifiers use a global SRCU
mm: mmu_notifier: make the mmu_notifier srcu static
mmu_notifier_unregister NULL Pointer deref and multiple ->release()
futex: Revert "futex: Mark get_robust_list as deprecated"
inotify: remove broken mask checks causing unmount to be EINVAL
fs/block_dev.c: page cache wrongly left invalidated after revalidate
drivers/video/backlight/adp88?0_bl.c: fix resume
mm/fadvise.c: drain all pagevecs if POSIX_FADV_DONTNEED fails to disc
drivercore: Fix ordering between deferred_probe and exiting initcalls
umount oops when remove blocklayoutdriver first
NLM: Ensure that we resend all pending blocking locks after a reclaim
sunvdc: Fix off-by-one in generic_request().
vgacon/vt: clear buffer attributes when we load a 512 character font
ondemand: add default values for new ondemand parameters
target: Fix divide by zero bug in fabric_max_sectors for unconfigured
ASoC: wm2200: correct IN2L and IN3L digital mute
ARM: 7643/1: sched: correct update_sched_clock()
drivers/video: fsl-diu-fb: fix pixel formats for 24 and 16 bpp
fbcon: don't lose the console font across generic->chip driver switch
fb: rework locking to fix lock ordering on takeover
fb: Yet another band-aid for fixing lockdep mess
mmc: sdhci-esdhc-imx: fix host version read
bridge: set priority of STP packets
net: fix infinite loop in __skb_recv_datagram()
ipv4: fix a bug in ping_err()
ipv6: use a stronger hash for tcp
sock_diag: Fix out-of-bounds access to sock_diag_handlers
vlan: adjust vlan_set_encap_proto() for its callers
ftrace: Call ftrace cleanup module notifier after all other notifiers
block: fix ext_devt_idr handling
block: fix synchronization and limit check in blk_alloc_devt()
sysctl: fix null checking in bin_dn_node_address()
fs: Fix possible use-after-free with AIO
ext4: check bh in ext4_read_block_bitmap()
ext4: fix race in ext4_mb_add_n_trim()
ext4: fix xattr block allocation/release with bigalloc
ext4: fix free clusters calculation in bigalloc filesystem
nfsd: Fix memleak
vhost: fix length for cross region descriptor
svcrpc: make svc_age_temp_xprts enqueue under sv_lock
cpuset: fix cpuset_print_task_mems_allowed() vs rename() race
cgroup: fix exit() vs rmdir() race
sched: remove HTC attempt to patch exit/rename race condition
kernel/workqueue.c: avoid array subscript above array boundaries
net/sunrpc: fix 'subbuf.[...]' may be used uninitialized in this func
slimbus: Fix channel concurrent usage during reconfiguration sequence
slimbus: Decrement channel reference during reconfigure now
msm: kgsl: Always reset global ts_cmp_enable on GPU interrupts
msm: kgsl: Remove extra interrupts when setting MMU state
iommu/msm: fix the include guard in iommu.h
msm: kgsl: Make the GPU device aware of the next pending event
hw_random: make buffer usable in scatterlist
virtio: rng: disallow multiple device registrations, fixes crashes
PM / Sleep: Look for wakeup events in later stages of device suspend
PM / Sleep: Use wait queue to signal "no wakeup events in progress"
PM / Sleep: Change wakeup source statistics to follow Android
power: Remove legacy wakelock code
fs: proc: stat: fix /proc/stat not showing all cpus
gpu: ion: Align va address to biggest buffer size
ARM: DMA: Fix struct page iterator in dma_cache_maint() to work with sparsemem
writeback: fix writeback cache thrashing
Asoc: msm: Add G711 media type support for Voip
msm: socinfo: Add support for detecting Krait and Krait Pass
BrateloSlava said:
What's new (I quote the author)
Click to expand...
Click to collapse
Thanks, will add this to the first post!
No thoughts in my head ...
I do not understand anything at all. Do the following:
Install this ROM via TWRP
Flash this kernel via TWRP
Flash boot.img from this kernel via "fastboot flash boot boot.img"
WiFi not worked.
Strange, cause i had the same things on the same phone working.
You're sure, that you have succesfully flashed boot.img over fastboot?
Or maybe a bad download?
I did not see any problems / errors during this process.
I'll try to do it all again, but on a different computer. But - tomorrow.
All - fine. I - happy. And I absolutely don't understand why I could not install this kernel past times.
BrateloSlava said:
All - fine. I - happy.
Click to expand...
Click to collapse
No problem man, we are happy that it works for you.
Hey folks, first post is updated.
Found a bug in NON-LTE version, NFC could not be activated!
But i fixed it with adding the correct lib files, so k2_u user, please download the new version only for k2_u from first post and flash it through recovery.
Have fun!
old.splatterhand said:
Hey folks, first post is updated.
Found a bug in NON-LTE version, NFC could not be activated!
But i fixed it with adding the correct lib files, so k2_u user, please download the new version only for k2_u from first post and flash it through recovery.
Have fun!
Click to expand...
Click to collapse
Done.
Thank you
old.splatterhand said:
Hey folks, first post is updated.
Found a bug in NON-LTE version, NFC could not be activated!
But i fixed it with adding the correct lib files, so k2_u user, please download the new version only for k2_u from first post and flash it through recovery.
Have fun!
Click to expand...
Click to collapse
Hello I can not unzip the boot.img {error: Central and local directory mismatch for the file"boot.img"
{
"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.01 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 ION heaps through CMA (Contiguous Memory Allocator)
- Dynamic memory allocation of PMEM ADSP heap through CMA (Contiguous Memory Allocator)
- Approximately 426MB 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)
- Backlight Notification v10 (BLNv10) (click for more details)
- USB OTG support (if also implemented on rom side)
- Customizable vibration intensity (click for more details)
- Lowered display panel voltage
- Lowered touchscreen 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)
- New display drivers from Samsung Galaxy SII
- Updated light sensor driver and display driver light sensor changes
- Updated sensor drivers
- Phantom key presses filter (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)
- Customizable timeout for touchkeys backlight after a key press or touchscreen press (click for more details)
- Customizable activation status of touchkeys backlight on touchscreen press (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/efguol6vbid5d[/QRCODE]
- v5.0 -
for ADC CM 11.0 Release 15 and next releases
and the other roms based on this CM 11.0
Note: You must use the TWRP recovery with new partition assignments you may find inside ADC CM 11.0 thread.
- v2.9.5 -
for ADC CM 11.0 Release 14
and the other roms based on this CM 11.0
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
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]09/02/2015 - K^Kernel 3.4 v5.0 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.106
- Built with my latest custom Linaro 4.9.3-2015.01 toolchain optimized for Cortex-A8
- 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)
[B]20/01/2015 - K^Kernel 3.4 v4.0 for KitKat ION+PMEM ADSP[/B]
- Built with my latest custom Linaro 4.9.3-2015.01 toolchain optimized for Cortex-A8
- ext4: Add support for FIDTRIM, a best-effort ioctl for deep discard trim (credits to JP Abgrall)
- broadcom_wlan: Modify country code source (credits to arco68)
- net: ipv6: autoconf routes into per-device tables (credits to Lorenzo Colitti)
- netfilter: nf_conntrack: decrement global counter after object release (credits to Pablo Neira Ayuso)
- net: ipv6: Add a sysctl to make optimistic addresses useful candidates (credits to Erik Kline)
- Enable NEED_NETDEV for vendor command support. (credits to Subhani Shaik)
- cfg80211: ignore supported rates for nonexistant bands on scan (credits to Felix Fietkau)
- crypto: msm: check potential integer overflow (credits to William Clark)
- defconfig: Enable generic USB audio driver (credits to tobigun)
- defconfig: Update default and custom defconfigs (credits to Christopher83)
- 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)
[B]23/12/2014 - K^Kernel 3.4 v3.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 v2.9.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]25/10/2014 - K^Kernel 3.4 v2.9 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
- qdsp5v2: Fix a null pointer dereference. (credits to Blefish)
- 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]11/09/2014 - K^Kernel 3.4 v2.8 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)
- 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]08/08/2014 - K^Kernel 3.4 v2.7 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.102
- 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]15/07/2014 - K^Kernel 3.4 v2.6 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 v2.5 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 v2.4 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 398MB, 406MB or 416MB of free RAM and
everything working, including camera, camcorder and video playback (credits to Christopher83)
[B]23/06/2014 - K^Kernel 3.4 v2.3 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]18/06/2014 - K^Kernel 3.4 v2.2 for KitKat ION+PMEM ADSP[/B]
- This release fixes the problems encountered while watching videos on YouTube or browsing inside Gallery
- 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
- Revert "mdp4_overlay_lcdc: Fixed wrong initialization of VSYNC" (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)
[B]13/06/2014 - K^Kernel 3.4 v2.1 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.93
- Sources synched with cm-11.0 repo branch of DevCon Team
- Built with my latest custom Linaro 4.9.1-2014.05 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)
- ksm: Provide support to use deferred timers for scanner thread (credits to Chintan Pandya)
- net: ipv6: ping: Use socket mark in routing lookup (credits to Lorenzo Colitti)
- net: add a sysctl to reflect the fwmark on replies (credits to Lorenzo Colitti)
- net: support marking accepting TCP sockets (credits to Lorenzo Colitti)
- mmc: core: enable eMMC5.0 card detection (credits to Subhash Jadavani)
- block: bfq: Squashed update from BFQ-v7r3 to BFQ-v7r4 (credits to arco68)
- futex: Prevent attaching to kernel threads (credits to Thomas Gleixner)
- futex: Add another early deadlock detection check (credits to Thomas Gleixner)
- futex-prevent-requeue-pi-on-same-futex.patch (credits to Thomas Gleixner)
- futex: Validate atomic acquisition in futex_lock_pi_atomic() (credits to Thomas Gleixner)
- futex: Always cleanup owner tid in unlock_pi (credits to Thomas Gleixner)
- futex: Make lookup_pi_state more robust (credits to Thomas Gleixner)
- msm7x30: Update defconfigs (credits to Christopher83)
- Revert "msm: pm2: Setup memory for save/restore cpu registers early" (credits to Christopher83)
- Revert "ARM: 7169/1: topdown mmap support" (credits to Laura Abbott)
- msm7x30: Use CMA for MM ION heap (credits to Christopher83, Blefish, Chintan Pandya)
- 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)
- ariesve: New high memory configurations (380MB, 388MB, 398MB, 406MB) (credits to Christopher83)
- msm7x30: Update default and custom configs (credits to Christopher83)
[B]26/05/2014 - K^Kernel 3.4 v2.0 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.91
- Sources synched with cm-11.0_ion_pmem_adsp repo branch of DevCon Team
- Built with my latest custom Linaro 4.9.1-2014.05 toolchain optimized for Cortex-A8
- mach-msm: Use ION_CP_MM_HEAP_ID instead of ION_CAMERA_HEAP_ID (credits to Christopher83)
- Revert "blktrace: fix accounting of partially completed requests" (credits to Christopher83)
[B]18/05/2014 - K^Kernel 3.4 v1.9 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.90
- Sources synched with cm-11.0_ion_pmem_adsp repo branch of DevCon Team
- Built with my latest custom Linaro 4.9.1-2014.05 toolchain optimized for Cortex-A8
- prctl: adds PR_SET_TIMERSLACK_PID for setting timer slack of an arbitrary thread. (credits to Ruchi Kandoi)
- Power: Add guard condition for maximum wakeup reasons (credits to Ruchi Kandoi)
- Power: Changes the permission to read only for sysfs file /sys/kernel/wakeup_reasons/last_resume_reason (credits to Ruchi Kandoi)
- net: ipv4: current group_info should be put after using. (credits to JP Abgrall)
- HID: add missing hid usages mappings (credits to Olivier Gay)
- selinux: Report permissive mode in avc: denied messages. (credits to Stephen Smalley)
- ARM: fix executability of CMA mappings (credits to Russell King)
- ARM: dma-mapping: don't allow DMA mappings to be marked executable (credits to Russell King)
- msm: display: clear sec_active when the pipe is not for secure (credits to Ken Zhang)
- lib/scatterlist: error handling in __sg_alloc_table() (credits to Dan Carpenter)
- CHROMIUM: mm: Fix calculation of dirtyable memory (credits to Puneet Kumar)
- staging: android: ashmem: Avoid deadlock with mmap/shrink (credits to Laura Abbott)
- ARM: mm: remove IPI broadcasting on ASID rollover (credits to Will Deacon)
- genalloc: Correct nbytes calculation on long boundary (credits to Sunil Khatri)
- block: bfq: Squashed update from BFQ-v7r2 to BFQ-v7r3 (credits to arco68)
- Revert "netfilter: xt_IDLETIMER: Rename INTERFACE to LABEL in netlink notification." (credits to Christopher83)
- nf: IDLETIMER: time-stamp and suspend/resume handling. (credits to Ruchi Kandoi)
- nf: Remove compilation error caused by e254d2c28c880da28626af6d53b7add5f7d6afee (credits to Ruchi Kandoi)
[B]27/04/2014 - K^Kernel 3.4 v1.8 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.88
- Sources synched with cm-11.0_ion_pmem_adsp repo branch of DevCon Team
- Built with my latest custom Linaro 4.9.1-2014.04 toolchain optimized for Cortex-A8
- block: bfq: Squashed update from BFQ-v7r1 to BFQ-v7r2 (credits to arco68)
- cpufreq: Fix broken uevents for cpufreq governor and cpu devices (credits to myfluxi)
- msm_fb: Register frame buffer device for device shutdown (credits to raghavendra ambadas)
- cpufreq: interactive: delete timers for GOV_START (credits to Shridhar Rasal)
- cpufreq: interactive: restructure CPUFREQ_GOV_LIMITS (credits to Badhri Jagan Sridharan)
- cpufreq: interactive: turn boost_pulse off on boost off (credits to Ruchi Kandoi)
[B]22/03/2014 - K^Kernel 3.4 v1.7 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.83
- Sources synched with cm-11.0_ion_pmem_adsp repo branch of DevCon Team
- Built with my latest custom Linaro 4.8.3-2014.03 toolchain optimized for Cortex-A8
- misc: bln: Cancel pending blinking/static light works on lights off (credits to Christopher83)
- [media] media: Init the reserved fields of struct media_link_desc (credits to Deva Ramasubramanian)
- power: don't wait for timeout if sys_sync completes early (credits to Srinivasarao P)
[B]28/02/2014 - K^Kernel 3.4 v1.6 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.82
- Sources synched with cm-11.0_ion_pmem_adsp repo branch of DevCon Team
- Built with my latest custom Linaro 4.8.3-2014.02 toolchain optimized for Cortex-A8
- s6e63m0: added new brightness levels to decrease more the brightness (credits to CastagnaIT)
- fix false disconnect due to a signal sent to the reading process (credits to keunyoung)
- MDP: correct clock calculation logic for up-scaling scenario (credits to Nirmal Abraham)
- sync: don't block the flusher thread waiting on IO (credits to Dave Chinner)
- timer: optimize apply_slack() (credits to Felix Fietkau)
- writeback: fix writeback cache thrashing (credits to Namjae Jeon)
- block/partitions: optimize memory allocation in check_partition() (credits to Ming Lei)
- rtc: alarm: Add power-on alarm feature (credits to Ashay Jaiswal)
- rtc: alarm: Set power-on alarm 120 sec before actual alarm time (credits to Mohit Aggarwal)
- kernel: alarm: fix the BUG that device automatically powers on (credits to Figo Wang)
- kernel: alarm: add dedicated alarm type for poweroff alarm (credits to Figo Wang)
- kernel: alarm: Do not call rtc_alarm_irq_enable in IRQ Disabled context (credits to Prasad Sodagudi)
- power: add an API to log wakeup reasons (credits to Ruchi Kandoi)
- power: fix compile warnings in log_wakeup_reason (credits to Ruchi Kandoi)
[B]16/02/2014 - K^Kernel 3.4 v1.5 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.80
- Sources synched with cm-11.0_ion_pmem_adsp repo branch of DevCon Team
- Built with my latest custom Linaro 4.8.3-2014.02 toolchain optimized for Cortex-A8
- crypto: Several updates and fixes to crypto drivers (credits to CAF Team)
- 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)
- workqueue: 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 (credits to Chad Goodman and poondog)
- LIB: use generic strnlen_user and strncpy_from_user functions (credits to Chad Goodman and poondog)
- ARM: dcache: select DCACHE_WORD_ACCESS for little-endian ARMv6+ CPUs (credits to Chad Goodman and 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 Paul Reioux)
- sched: Periodically decay max cost of idle balance (credits to Paul Reioux)
- cpufreq: Optimize cpufreq_frequency_table_verify() (credits to Viresh Kumar)
- Update default and custom defconfigs (credits to Christopher83)
- msm: camera: Don't set a flip for S5KA3DFX front camera on Ariesve (credits to Christopher83)
- mach-msm: Revised VIDC memory reservation to fix video re-encoding issues (credits to Christopher83)
[B]09/02/2014 - K^Kernel 3.4 v1.4 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.79
- Sources synched with cm-11.0_ion_pmem_adsp repo branch of DevCon Team
- Built with my latest custom Linaro 4.8.3-2014.01 toolchain optimized for Cortex-A8
- misc: bln: Turn off touch-keys after the completion of a notification (credits to Christopher83)
- msm: camera: Set correct mount angle for S5KA3DFX front camera (credits to Christopher83)
- block: bfq: Squashed update from v6r2 to v7 (credits to arco68)
- cpufreq: Fix policy getting stuck when user & kernel min/max don't overlap (credits to Saravana Kannan)
- arm: if there's no handler we need to restore sigmask, syscall or no syscall (credits to Al Viro)
- arm: new way of handling ERESTART_RESTARTBLOCK (credits to Al Viro)
- driver core: fix possible missing of device probe (credits to Sagar Dharia)
- mach-msm:bus_config:fix possible missing error check (credits to Swetha Chikkaboraiah)
- diag: Reduce error message frequency (credits to Katish Paran)
- Rotator getting stuck leading to fence timeout (credits to Justin Philip)
- block: add a flag to identify PM request (credits to Lin Ming)
- block: add runtime pm helpers (credits to Lin Ming)
- block: implement runtime pm strategy (credits to Lin Ming)
- blkpm: avoid sleep when holding queue lock (credits to Aaron Lu)
- block: allow REQ_PM requests even when the device is suspended (credits to Sujit Reddy Thumma)
- block: do not notify urgent request, when flush with data in flight (credits to Konstantin Dorfman)
- Bluetooth: Replace sprintf with snprintf (credits to Juffin Alex Varghese)
- msm_serial_hs: Discard Clock On/Off request after Port Close (credits to Dilip Kota)
- block: bfq: Squashed update from v7 to v7r1 (credits to arco68)
- cpufreq: interactive: fix compiling warnings (credits to Chih-Wei Huang)
- cpufreq: interactive: Allow 1 ms error in above_hispeed_delay comparisons (credits to Rohit Gupta)
- cpufreq: interactive: Reset floor_validate_time if busy at max for 100ms (credits to Rohit Gupta)
- cpufreq: interactive: Add a sampling_down_factor for max frequencies (credits to Rohit Gupta)
- cpufreq: interactive: Remove trace event from idle_start handler (credits to Rohit Gupta)
- cpuidle: make a single register function for all (credits to Daniel Lezcano)
- debug-pagealloc: Panic on pagealloc corruption (credits to Subbaraman Narayanamurthy)
- ext4: speed up truncate/unlink by not using bforget() unless needed (credits to Andrey Sidorov)
- jbd2: optimize jbd2_journal_force_commit (credits to mrg666)
- mm: methods for teaching filesystems about PG_swapcache pages (credits to Mel Gorman)
- msm: kgsl: Fix mem leak when page allocation fails (credits to Hareesh Gundu)
- msm: kgsl: Change an overflow check to be "smart" compiler proof (credits to Jordan Crouse)
- msm: kgsl: Fix overflow check in mmap_range_valid (credits to Jordan Crouse)
- msm: vidc: enable pic_order_cnt_type for H264 encoding (credits to srikarri)
- ping: prevent NULL pointer dereference on write to msg_name (credits to Hannes Frederic Sowa)
- SELinux: Fix kernel BUG on empty security contexts. (credits to Stephen Smalley)
- sync: Fix a race condition between release_obj and print_obj (credits to Alistair Strachan)
- tcp: add a sysctl to config the tcp_default_init_rwnd (credits to JP Abgrall)
- uio: msm_shared: Add support for platform data (credits to Pratibhasagar V)
- writeback: fix race that cause writeback hung (credits to Junxiao Bi)
[B]26/01/2014 - K^Kernel 3.4 v1.3 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.77
- Sources synched with cm-11.0_ion_pmem_adsp repo branch of DevCon Team
- Built with my latest custom Linaro 4.8.3-2014.01 toolchain optimized for Cortex-A8
- sensors_ariesve: gp2a_proximity: Fix unbalanced enable for proximity IRQ (credits to Christopher83)
- misc: bln: New implementation and changes for BLNv10 (credits to Christopher83)
[B]18/01/2014 - K^Kernel 3.4 v1.2 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.77
- Sources synched with cm-11.0_ion_pmem_adsp repo branch of DevCon Team
- Built with my latest custom Linaro 4.8.3-2013.12 toolchain optimized for Cortex-A8
- ARM: dts: msm: Add new 'sharedmem' devices (credits to Pratibhasagar V)
- Asoc:msm:Added Buffer overflow check (credits to Mohammad Johny Shaik)
- cfg80211: intersect the regulatory rules for a new country (credits to Mihir Shete)
- csdio: Remove the driver (credits to Hamad Kadmany)
- msm: kgsl: Protect against a potential overflow in kgsl_sg_alloc (credits to Jordan Crouse)
- msm: kgsl: avoid zero length scatterlist allocation (credits to Prakash Kamliya)
- msm_serial_hs: Programming Auto RFR Ctrl bit (credits to Dilip Kota)
- radio: iris: Avoid inconsistent free (credits to Ayaz Ahmad)
- radio: tavarua: Added NULL checks for input arguments. (credits to Satish Kodishala)
- radio: iris: Prevent probable overflow (credits to Ayaz Ahmad)
- radio: iris: Use kernel API to copy data from user space (credits to Ayaz Ahmad)
- radio: iris: Avoid memory leak and NULL pointer dereferencing (credits to Ayaz Ahmad)
- radio: iris: Prevent loss of data (credits to Ayaz Ahmad)
- spi_qsd: Remove check for unaligned length during input_irq. (credits to Sana Venkat Raju)
- uio: msm_sharedmem: Add new device driver for sharedmemory access (credits to Pratibhasagar V)
- Update defconfigs to build TUN/TAP and ZRAM as a built-in modules (credits to Christopher83)
- Update defconfigs to build NFS, LockD, SunRPC as built-in modules (credits to arco68)
- msm: pm2: Setup memory for save/restore cpu registers early (credits to Christopher83)
- workqueue: Added null check and warning (credits to Srinivasarao P)
- cfg80211: discard regulatory hints from country IEs with undefined wiphy (credits to Mihir Shete)
- msm: msm_fb: Update panel info in case of resolution change (credits to raghavendra ambadas)
- Revert "mm: make is_vmalloc_addr work properly." (credits to Shruthi Krishna)
- mm: make is_vmalloc_addr lockless (credits to Laura Abbott)
- android: lowmemorykiller: add lmk parameters tunning code. (credits to seungho1.park)
- android/lowmemorykiller: Account for total_swapcache_pages (credits to Liam Mark)
- defconfig: Disable CONFIG_ENABLE_VMALLOC_SAVING (credits to arco68)
- defconfig: Disable KGSL shadow writes (credits to arco68)
- ARM: kconfig: select HAVE_EFFICIENT_UNALIGNED_ACCESS for CPUv6+ && MMU (credits to Will Deacon)
- Revert "staging: zram: Add auto loading of module if user opens /dev/zram." (credits to Greg Kroah-Hartman)
- Staging: zram: Fix access of NULL pointer (credits to Rashika Kheria)
- Staging: zram: Fix memory leak by refcount mismatch (credits to Rashika Kheria)
- usb: msm72k_otg: Update OTG status management (credits to Christopher83)
- usb: msm72k_otg: Allow USB bus overdraw for Legacy OTG (credits to Christopher83)
- Update defconfigs (credits to Christopher83)
- msm: Qdsp5v2: audio: Migrate to ION. (credits to Kalyani Polepeddy)
- audio: msm: qdsp5v2: Switch hostPCM driver to ION (credits to Kalyani Polepeddy)
- Initial commit for ION compilation errors (credits to Kalyani Polepeddy)
- msm: audio : Enable LPA (credits to Kalyani polepeddy)
- audio : Copyright correction. (credits to Kalyani polepeddy)
- msm: audio VOIP fixes. (credits to Kalyani polepeddy)
- msm: Remove all references to pmem from audio files (credits to Laura Abbott)
- qdsp5: memset stack buffer allocation (credits to Asish Bhattacharya)
- exFAT: Update to v1.2.5 (credits to arco68)
- defconfig: Disable NTFS and build exFAT as built-in (credits to arco68)
- Revert lowmem and vmalloc patches (credits to arco68)
[B]02/01/2014 - K^Kernel 3.4 v1.1 for KitKat ION+PMEM ADSP[/B]
- Kernel 3.4.75
- Sources synched with cm-11.0_ion_pmem_adsp repo branch of DevCon Team
- Built with my latest custom Linaro 4.8.3-2013.11 toolchain optimized for Cortex-A8
- ancora: don't use FB console (credits to hadidjapri)
- Updates and fixes to ARM memory management, timers and specific architecture routines (credits to CAF Team)
- Updates and fixes to ALSA and ASOC sound drivers (credits to CAF Team)
- Updates and fixes to diagnostics driver (credits to CAF Team)
- Updates and fixes to EMMC/SD drivers (credits to CAF Team)
- Updates and fixes to IPC Router driver (credits to CAF Team)
- Updates and fixes to serial drivers (credits to CAF Team)
- Updates and fixes to framebuffer and display drivers (credits to CAF Team)
- Updates to qseecom driver (credits to AnilKumar Chimata)
- base: sync: increase size of sync_timeline name (credits to Fred Fettinger)
- Bluetooth: GAP: Fast ACL disconnection only for Auth fail (credits to Sumit Bajpai)
- Bluetooth: hidp: Remove sysfs entry if hid connection is disconnected (credits to Hemant Gupta)
- Fix pairing not successful when remote reports missing pin (credits to Archana Ramachandran)
- ion: Update ION_SECURE and ION_FORCE_CONTIGUOUS flags (credits to Adrian Alexei)
- mfd: pm8xxx: implement cold_boot sysctl parameter (credits to David Keitel)
- msm: subsystem_restart: Don't use phase 3 SSR on the SGLTE2 (credits to Joel King)
- msm: SSR: Fix problems with concurrent SSRs (credits to Stephen Boyd)
- msm: spm: set vdd directly for current cpu (credits to Venkat Devarasetty)
- msm: rq_stats: Register for Cpufreq policy notification (credits to Archana Sathyakumar)
- msm: socinfo: Add new hw_platform for QRD (credits to Taniya Das)
- msm: msm_bus: Correct the return value from register-client (credits to Gagan Mac)
- Revert "Revert "msm: cache_erp: Handle recoverable L1 errors"" (credits to Neha Pandey)
- msm: pm: send notification only for SPC and PC (credits to Venkat Devarasetty)
- msm: rpm: add debug msg for rpm outstanding req (credits to Venkat Devarasetty)
- msm: Fix race condition in domain lookup (credits to Olav Haugan)
- slim_msm: Wait for reconfig sequence to complete (credits to Kiran Gunda)
- sync: signal pt before sync_timeline object gets destroyed (credits to Prakash Kamliya)
- sysctl: add cold_boot sysctl entry (credits to David Keitel)
- Updates and fixes to USB drivers (credits to Rajkumar Raghupathy, Pavankumar Kondeti, Manu Gautam)
- drivers: staging: Fix Zcache (credits to Steve Kondik)
- msm: mdp: Update sync pt. behaviour (credits to naseer)
- mach-msm: Some changes to Ancora, Ancora_Tmo, Apache and Ariesve boards (credits to arco68)
- Revert "msm: pm2: Setup memory for save/restore cpu registers early" (credits to arco68)
- netfilter: xt_qtaguid: report only uid tags to non-privileged processes (credits to JP Abgrall)
- netfilter: x_tables: fix ordering of jumpstack allocation and table update (credits to Will Deacon)
- Update defconfigs and custom defconfigs to enable Zcache, additional features and
to enable additional features and to build NFS, LockD, SunRPC, TUN as standalone modules (credits to arco68 and Christopher83)
- Fix OTG support (credits to Rajkumar Raghupathy, Murali Nalajala, Vijayavardhan Vennapusa)
[B]22/12/2013 - K^Kernel 3.4 v1.0 for KitKat ION+PMEM ADSP[/B]
- Initial release that includes all the features already released on K^Kernel 3.4 v1.1 for KK 4.4 PMEM
- Kernel 3.4.75
- Sources synched with cm-11.0_ion_pmem_adsp repo branch of DevCon Team
- Built with my latest custom Linaro 4.8.3-2013.11 toolchain optimized for Cortex-A8
- Hybrid memory allocation ION + PMEM ADSP for camera lib support (credits to Christopher83)
- msm: rotator: Wait for the pending commits in finish IOCTL (credits to Padmanabhan Komanduru)
- gpu: ion: enable the kmalloc heap (credits to Mitchel Humpherys)
- msm: Add support for ION Flushing without virtual address (credits to Neeti Desai)
- gpu: ion: Use correct type for variables (credits to Olav Haugan)
- gpu: ion: Free the sgtable for CMA based heaps (credits to Laura Abbott)
- cpufreq: Resolve CPUFREQ_NOTIFY issue (credits to Archana Sathyakumar)
- msm: cpufreq: Unable to handle kernel NULL pointer (credits to Swetha Chikkaboraiah)
- cpufreq: ondemand: Fix kernel warning in cpufreq_governor_dbs (credits to Anji Jonnala)
- cpufreq: ondemand: Fix locking issue in store_powersave_bias (credits to Rohit Gupta)
- cpufreq: ondemand: Fix NULL check for dbs_info->cur_policy (credits to Swetha Chikkaboraiah)
- cpufreq: ondemand: Fix store_powersave_bias() race with hotplug (credits to Matt Wagantall)
- cpufreq: ondemand: Fix locking in store_powersave_bias (credits to Matt Wagantall)
- cpufreq: ondemand: kernel NULL pointer dereference at dbs_check_cpu (credits to Swetha Chikkaboraiah)
- drivers: staging: rename synaptics_i2c_rmi4 to avoid confusion (credits to Amy Maloche)
- switch: Reset device's drvdata before destroying it (credits to Deva Ramasubramanian)
- Add security hooks to binder and implement the hooks for SELinux (credits to Stephen Smalley)
- Update defconfigs for ZRAM (as module) and ZSMALLOC (credits to Christopher83)
- Several updates, bug fixes and changes for zram and zsmalloc drivers (credits to CAF team)
- Several updates, bug fixes and changes for framebuffer, display, video encoder/decoder drivers (credits to CAF team, CastagnaIT and Christopher83)
- Several updates, bug fixes and changes for Adreno kgsl drivers (credits to CAF team and CastagnaIT)
- ariesve: High memory configurations (credits to Christopher83)
- ariesve: Update default config and add additional custom configs (credits to Christopher83)
- Ramdisk updates
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 and other devs I'm surely missing
CyanogenMod, Kernel.org, Code Aurora Forum, Google, Linaro GCC developers
KTulu84, Smeroni68, XeLLaR* and Rhonin86 for their support in testing
Sament83, B1tt1, Dellup, Pierm, Leonbeson, Cippoz89, Marco Z., Rhonin86, modog, Ludovic D., Joerg S. B. for their donations
XDA:DevDB Information
[GT-I9001][ION] K^Kernel 3.4 for KK 4.4 ION+PMEM ADSP, Kernel for the Samsung Galaxy S I9000
Contributors
Christopher83
Source Code: https://github.com/Christopher83/samsung-kernel-msm7x30/tree/cm-11.0_ion_pmem_adsp
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: v5.0
Stable Release Date: 2015-02-09
Created 2013-12-22
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
Phantom Key Presses filter
This feature is an attempt to workaround a well known hardware bug of some Samsung devices.
Pratically, the high activity of the radio hardware, in particular the antenna, could cause interference on Melfas chip, which is located very close to the antenna.
This interference could induce bad interrupts that are seen by the chip as possible HOME, MENU or BACK key presses.
These phantom key presses are happening expecially in 2G mode.
The solution includes a new device module (phantom_kp_filter), which also allows the filtering parameters customization, and various changes to cypress-touchkey and pmic8xxx-keypad modules.
The phantom key presses filtering is enabled by default for incoming MENU and BACK touch keys, because for these keys is simpler to recognize a bad interrupt or an invalid key press, instead it's disabled for incoming HOME key (read the next howto infos to enable it).
I also developed a new app to better manage the filtering status and the filtering parameters customization, you can find it on this thread:
Phantom Key Presses Filter Manager
How to enable/disable the feauture and customize the filtering parameters:
The new device module allows to show the number of ignored key presses and to customize the filtering parameters by means of a sysfs interface, at the following system path: /sys/class/misc/phantom_kp_filter
The interface exposes these files:
home_enabled: show/edit the enable status of the phantom HOME key presses filtering (0 = disabled and 1 = enabled, disabled by default)
home_allowed_irqs: show/edit the allowed max number of incoming interrupts to consider a HOME key press as valid (from 1 to 32, default = 4), a lower value allows to have a more aggressive filtering, instead a higher value allows to have a more permissive filtering
home_report_wait: show/edit the wait time in ms before report the collected HOME key presses (from 5 to 25 ms, default = 12 ms), the key presses during this wait time are collected and reported only if the system received a number of interrupts less than or equal to the allowed max number of incoming interrupts (home_allowed_irqs parameter)
home_ignored_kp: show the ignored possible phantom HOME key presses
menuback_enabled: show/edit the enable status of the phantom MENU and BACK key presses filtering (0 = disabled, 1 = enabled, enabled by default)
menuback_interrupt_checks: show/edit the number of interrupt checks to be performed for the incoming MENU and BACK key presses (from 1 to 10, default = 10), a lower value is more permissive, a higher value securely avoids most of the bad interrupts
menuback_first_err_wait: show/edit the time in ms to wait after the first error on MENU or BACK keys if there are many invalid key errors in rapid sequence (from 50 to 1000 ms, default = 500 ms), the default value is optimal and well tested
menuback_last_err_wait: show/edit the time in ms to wait after the last error on MENU or BACK keys if there are many invalid key errors in rapid sequence (from 50 to 1000 ms, default = 100 ms), the default value is optimal and well tested
menuback_ignored_kp: show the ignored possible phantom MENU and BACK key presses
version: show the module version
To change the filtering parameters:
1) By downloading and using my new app PkfManager
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 05pkf_alt
- 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 filtering parameters (the downloaded script has the default filtering parameter values and enables the phantom HOME key presses filtering)
- 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 files inside /sys/class/misc/phantom_kp_filter (the values you set will be lost after a reboot/shutdown)
4) By using Terminal Emulator (note that set values will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands
Code:
su
echo [COLOR="Blue"][I]value[/I][/COLOR] > /sys/class/misc/phantom_kp_filter/[COLOR="Green"][I]parameter_name[/I][/COLOR]
where value is the value you want to set and parameter_name is one of the previously described editable parameters
For example, these commands will enable phantom HOME key presses filtering:
Code:
su
echo 1 > /sys/class/misc/phantom_kp_filter/home_enabled
To show the number of ignored key presses (possible phantom key presses):
1) By directly opening the files /sys/class/misc/phantom_kp_filter/home_ignored_kp and /sys/class/misc/phantom_kp_filter/menuback_ignored_kp
2) By using Terminal Emulator
- Open Terminal Emulator
- Run these commands
Code:
su
cat /sys/class/misc/phantom_kp_filter/home_ignored_kp
cat /sys/class/misc/phantom_kp_filter/menuback_ignored_kp
Customizable timeout of touchkeys backlight after press
This feature allows to set a customized timeout of touchkeys backlight after a key press or touchscreen press. The default value is 1600 ms.
How to set the timeout of touchkeys backlight:
1) By using the related setting inside System -> Advanced -> Backlight Timeout
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 20backlight_timeout
- 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 timeout (the downloaded script will set the status to 0 = disabled)
- 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/notification/bl_timeout (the value you set will be lost after a reboot/shutdown)
4) By using Terminal Emulator (note that set values will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands to set the timeout of touchkeys backlight to 1000 ms (1 second)
Code:
su
echo 1000 > /sys/class/misc/notification/bl_timeout
Customizable activation status of touchkeys backlight on touchscreen press
This feature allows to enable/disable the touchkeys backlight after a touchscreen press.
How to set the status of touchkeys backlight on touchscreen press:
1) By using the related setting inside System -> Advanced -> Backlight on Touchscreen Press
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 25touchlight_status
- 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(the downloaded script will set the status to 0 = disabled)
- 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/notification/touchlight_enabled (the value you set will be lost after a reboot/shutdown)
4) By using Terminal Emulator (note that set values will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands to disable the touchkeys backlight on touchscreen press
Code:
su
echo 0 > /sys/class/misc/notification/touchlight_enabled
- Or run these commands to enable the touchkeys backlight on touchscreen press
Code:
su
echo 1 > /sys/class/misc/notification/touchlight_enabled
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 I9001 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
Customized vibration intensity
This feature has been developed by CastagnaIT and allows to set a customized vibration intensity (121 is the default stock value).
It could be useful if you don't like the stock vibration intensity and you'd like to have a lower / stronger vibration.
The setting will affect the haptic feedback and the notification vibration intensity.
How to set a customized vibration intensity:
1) By using the related setting inside System->Advanced->Vibration (only on CM 10 Beta 4 and next releases)
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 10vibetonz
- 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 vibration intensity (the downloaded script will set the vibration intensity to 70)
- 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/vibetonz/immDuty/pwmvalue_intensity (the value you set will be lost after a reboot/shutdown)
4) By using Terminal Emulator (note that set values will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands (changing the intensity value = 70 with the preferred one)
Code:
su
echo 70 > /sys/class/vibetonz/immDuty/pwmvalue_intensity
Backlight Notification V10 (BLNv10)
This feature allows to notify you of missing calls, messages, emails, etc... by lighting up or blinking the Menu and Back buttons.
With BLNv10 enabled you don't need to unlock the screen to see if you have new notifications.
How to configure the BLNv10:
1) By using new AriesParts (Advanced Settings) or by downloading and using BLN Control Free, BLN Control Pro or NsTools
2) By directly editing the file /sys/class/misc/backlightnotification/enabled and setting 1 to enable the feature, 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 feature
Code:
su
echo 1 > /sys/class/misc/backlightnotification/enabled
- Run, instead, this command to disable the feature
Code:
su
echo 0 > /sys/class/misc/backlightnotification/enabled
Work in progress (init.d, blinking and other settings)...
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: For kernel v4.0 and before, what are the differences between 398MB, 406MB and 416MB versions?
A: 398MB, 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.
- 398MB versions have the same amount of free ram than stock kernels, they 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 8 MB of free ram than stock kernels (that memory has been taken from SurfaceFlinger reservation), 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 18 MB of free ram than stock kernels (that memory has been taken from SurfaceFlinger reservation), 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...
Thanks!
Christopher83 said:
Reserved, just in case...
Click to expand...
Click to collapse
Thanks Cristoforo,
No more thanks/day :crying:
Happy holidays and happy new year!
Free mem it's different here, no 390. It's 378 equivalent to 390?
Enviado do meu GT-I9001 através de Tapatalk
okidokiss said:
Free mem it's different here, no 390. It's 378 equivalent to 390?
Enviado do meu GT-I9001 através de Tapatalk
Click to expand...
Click to collapse
390MB is not possible with ion+pmem memory allocation. So 378 is the highest possible ram. Btw, the kernel works amazing. Thanks Christopher :thumbup:
Gesendet von meinem GT-I9001 mit Tapatalk
okidokiss said:
Free mem it's different here, no 390. It's 378 equivalent to 390?
Enviado do meu GT-I9001 através de Tapatalk
Click to expand...
Click to collapse
käsebr0t said:
390MB is not possible with ion+pmem memory allocation. So 378 is the highest possible ram. Btw, the kernel works amazing. Thanks Christopher :thumbup:
Gesendet von meinem GT-I9001 mit Tapatalk
Click to expand...
Click to collapse
From Christopher, #4 needs to be updated I think when he finds time...
Thanks Chris for the fast Update of the Kernel. I really enjoy using it and its really fast but on your changelog you wrote that you had lowered the wifi voltage. And my wifi connection is weak so is there a way to set the voltage higher?
Gesendet von meinem GT-I9001 mit Tapatalk
sziggins said:
From Christopher, #4 needs to be updated I think when he finds time...
Click to expand...
Click to collapse
meaning ???
okidokiss said:
meaning ???
Click to expand...
Click to collapse
At the post I mentioned in different thread Christopher explains in brief why 378MB is the maximum memory
At the moment, 378MB is the best maximum amount of ram I can get to prevent screen glitches and issues during boot, without sacrificing camera, camcorder at 480p, video playback + recording, audio.
Click to expand...
Click to collapse
At the post: #4 in this thread "FAQ - Frequently asked questions:" Christopher needs to update the question: "Q: What are the differences between 352MB, 360MB, 370MB and 390MB versions?"
Tanks tanks tanks
370 mb version (uv) gives me random reboots. 352 mb version is stable. Thanks Christopher!
Sent from my GT-I9001 using XDA Premium 4 mobile app
smitharro said:
370 mb version (uv) gives me random reboots. 352 mb version is stable. Thanks Christopher!
Sent from my GT-I9001 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Strange... 378MB was stable for me in the last few hours. Maybe I'm just lucky.
Gesendet von meinem GT-I9001 mit Tapatalk
Hi Christopher!
I like your products but I have a problem. When I listen to music on stock kernel, I almost don't hear the noise. When I use your kernel, the noise on the headphones is several times louder. I listen music on the SoundMagic e10 headphones and I don't hear the noise on other phones (for example Nokia E52).
Could you do anything with that?
I would be thankful!
Regards
smitharro said:
370 mb version (uv) gives me random reboots. 352 mb version is stable. Thanks Christopher!
Sent from my GT-I9001 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
370mb EXUV works great:good:
I've installed 352 ExUV and 378/ExUV and 360UV and with all i have shutdowns.. Back to stock kernel
Edit: after installing stock kernel the same problem
Sent from my Nexus 5 using xda app-developers app
Laurentyu1995 said:
I've installed 352 ExUV and 378/ExUV and 360UV and with all i have shutdowns.. Back to stock kernel
Edit: after installing stock kernel the same problem
Sent from my Nexus 5 using xda app-developers app
Click to expand...
Click to collapse
Make wipe cache/dalvik or reinstall ROM.
jako_tako said:
Make wipe cache/dalvik or reinstall ROM.
Click to expand...
Click to collapse
Do the latter: reinstall the rom. Only this way the shutdowns disappear. And oh yeah, don't active zRam. No matter which kernel, I'm having shutdowns with this....
Sent from my GT-I9001 using XDA Premium 4 mobile app
[GPL][Kernel]3.4.71-XPerience�-9-Marshmallow+/3.4.103-XPerience�-STK-18+[29/11/2015]
{
"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"
}
Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
This kernel are maded for use on my roms for the best experience but you can try in other's roms
Hi first of all I want to clarify that I AM NOT A TEAM xD
I chose the name TeamMEX because it was first I thought because I could not use KLOZZ
Click to expand...
Click to collapse
This work on XT1028,XT1031,XT1032,XT1032GPE, XT1033, XT1034
Click to expand...
Click to collapse
read this before proceeding:
http://www.xda-developers.com/android/good-custom-rom-user-xda-tv/
Click to expand...
Click to collapse
Features:
Builded GCC 5.2
For android 4.4.x - > 5.x.x --> 6.x.x
UNIFIED Ramdisk
3.4.108 linux kernel 3.4.42
Support for LZ0 compression
RAMDISK in LZ4 -l -9
I/O schedulers: deadline , ROW ,noop optimizatios , zen
CPU Gov : bioshock,Lionheart, Smartmax and Dancedance Governors
Adreno idler
better battery consumption
VFP4 Optimizations
Reclamed more memory from loggers (now you have 884mb RAM)
TCP Schedulers
NEON mode
Kexechardboot
DoubleTap2Wake/sweep2wake with redirections from savoca
Faux Sound Control (You need Faux app)
[*] New governor Intellidemand
[*] Intellimm
[*] Intelli_plug (more eficient than MPDesicion=
Alessa_plug (Disabled for now)
[*] Ecomode (more battery saving)
GPU overclock
You can use your device as USB Keyboard(https://play.google.com/store/apps/details?id=remote.hid.keyboard.client)
And more read changelog
if you want a good score on benchmark this kernel aren't for you
[/QUOTE]
if you have a question of FreeRam
Free RAM is not that important for Android/Linux. Android/Linux will auto kill the suspended tasks when more memory is needed.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
NOTE: All reports of DT2W/S2W , will be sent to $ Recycle.bin and .Trash-1000
NOTE2: PLEASE READ ALL ....
if something says reporting assume that there will be read and if it corresponds to or related DT2W OVERCLOCK will be ignored.
Click to expand...
Click to collapse
MORE INFO READ 3# post.
Screenshots of DT2W/S2W-S2s:
XPerience 9-lollipop-CM12
XPerience28-falcon-kernel-signed.zip
XPerience-10-Marshmallow(CM 13 works too)
XPerience-10.0.x-v9-Marshmallow-CM-falcon-kernel-signed.zip
Stock Lollipop
WORK IN PROGRESS....
Click to expand...
Click to collapse
Reworked [WIP] KITKAT
3.4.42-XPerience-19R-Test
UNIFIED
3.4.104-XPerience-18.zip - 9.83 MB
MIUI
3.4.104-XPerience-MIUI-18.zip - 10.25 MB
For Stock Motorola's 4.4.3 and higher:
3.4.104-XPerience-STK-18.zip - 19.42 MB
OLDER CAMERA BLOBS thanks to @zarocks
cam-libs-old.zip - 2.35 MB
XPerience25a-falcon-kernel-signed.zip
Click to expand...
Click to collapse
NOTE: If you need change CPU freq use Trickstermod or any other Kernel tweaker having support to disable MPdecision
Click to expand...
Click to collapse
IF YOU Have issues activating or deactivating Dt2w-s2w you can use this script
made by sfoot13:
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=54391575&postcount=581
OLDER DOWNLOADS:
3.4.92-XPerience-02-XPE_PA.zip - 6.64 MB
3.4.92-XPerience-02-XPE_CM_MK.zip - 6.64 MB
3.4.92-XPerience-02-XPE_PAC.zip - 6.69 MB
PAC-ROM
3.4.94-XPerience-03-XPE_PAC.zip - 6.70 MB
Stock (Not tested YET)
3.4.94-XPerience-03-STOCK.zip - 6.23 MB
3.4.94-XPerience-03-XPE_PA.zip - 6.70 MB
Signed_3.4.94-XPerience-04-XPE_CM_AOKP.zip - 8.51 MB
Signed_3.4.94-XPerience-04-XPE_PA.zip - 8.59 MB
Signed_3.4.94-XPerience-04b-XPE_PA.zip - 8.58 MB
Signed_3.4.94-XPerience-04b-XPE_CM_AOKP.zip - 8.53 MB
Signed_3.4.94-XPerience-04b-XPE_PAC.zip - 8.53 MB
V5 in the spoiler
AnimeROM,OmniROM
Signed-3.4.94-XPerience-05-PA.zip - 8.56 MB
CM, XPerience-8.0.0, MokeeOS,XPerience-8.1.0-Exp ParanoidAndroid,
Signed-3.4.94-XPerience-05-CM.zip - 8.54 MB
PAC ROM
Signed-3.4.94-XPerience-05-PAC.zip - 8.51 MB
You can find updates HERE: http://d-h.st/users/klozz/?fld_id=37331#files
Click to expand...
Click to collapse
3.4.96-XPerience-06.zip - 8.45 MB
3.4.96-XPerience-07CM.zip - 8.91 MB
3.4.96-XPerience-07CM.zip
3.4.96-XPerience-07UNIFIED.zip - 8.86 MB
Signed-3.4.98-XPerience-08UNIFIED.zip - 9.00 MB
Signed-3.4.98-XPerience-08a_UNIFIED.zip - 8.96 MB
Signed_3.4.99-XPerience-09UNIFIED.zip - 9.20 MB
Signed_3.4.99-XPerience-10_UNIFIED.zip - 8.88 MB
Signed_3.4.100-XPerience-11_UNIFIED.zip - 7.09 MB
Mirror:
Signed_3.4.100-XPerience-11_UNIFIED.zip
3.4.50-XPerience-STK-11.zip - 17.80 MB
Signed_3.4.101-XPerience-12_UNIFIED.zip - 9.03 MB
3.4.72-XPerience-STK-12.zip - 18.69 MB
3.4.50-XPerience-STK-11.zip - 17.80 MB
3.4.103-XPerience-13.zip - 9.05 MB
3.4.92-XPerience™-STK-13+.zip - 18.84 MB
MIRROR
3.4.94-XPerience-STK-13.zip
3.4.103-XPerience-14.zip - 9.33 MB
3.4.103-XPerience-STK-14.zip - 18.33 MB
PAC ROM
3.4.96-XPerience-07PAC.zip - 8.86 MB
3.4.103-XPerience-15.zip - 9.29 MB
MULTIROM (Secondary rom):
3.4.103-XPerience-14-Multirom.zip - 9.06 MB
3.4.103-XPerience-STK-15.zip - 18.89 MB
3.4.103-XPerience-16_Unified.zip - 9.44 MB
3.4.104-XPerience-17.zip - 9.41 MB
3.4.104-XPerience-MIUI-17.zip - 10.18 MB
3.4.103-XPerience-16-STK.zip - 19.04 MBboot.img - 5.64 MB
Lollipop
bootxpe.img - 8.68 MB
3.4.42-XPerience-Lollipop-19R-Test2.zip - 23.82 MB
XPerience22-falcon-kernel-signed.zip - 8.64 MB
XPerience23-falcon-kernel-signed.zip - 8.67 MB
XPerience24-falcon-kernel-signed.zip
XPerience25-falcon-kernel-signed.zip
XPerience26-falcon-kernel-signed
XPerience26-LNXGCC5.1-falcon-kernel-signed.zip
If have wifi issues (roms with in kernel build drivers try this fix)
XPerience-26-Wifi-FIX.zip
For Based android 5.1.1_r3 (older may cause FC's on SystemUI)
XPerience26-LNXGCC5.1-AND5.1.1_r3-falcon-kernel-signed.zip
MARSHMALLOW
XPerience-Marshmallow 4a-falcon-kernel-signed.zip
Thanks to: (Not in order)
Dextruit for new logo
Motorola Mobillity LLC for kernel source
Dhacker29 as the first developer in the moto G
Savoca --> ASoC: wcd9306: Enable class AB and expose sysfs
The GNU General Public License is a free, copyleft license for software and other kinds of works.
The GPL permits use, share, study and modify.
But this does not mean you should not give the deserved credit to the previous author.
So if you use my source code under GPL you must share with GPL too and quote me in the credits.
“Our mission is to preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users.”
Click to expand...
Click to collapse
XPerience source is licensed by GPLv3
Source:
https://github.com/XPerience-AOSP-Lollipop/android_kernel_motorola_msm8226
https://github.com/Klozz/kernel-msm/ <--stock
BIG Thanks for donating
@japoina92
@Para94
If you like my work, you can buy me a coffee with your donatives. All donations are appreciated.
XDA:DevDB Information
XPerience Kernel MOTO G, Kernel for the Moto G
Contributors
TeamMex
Source Code: https://github.com/XPerience-AOSP-Lollipop/android_kernel_motorola_msm8226
Kernel Special Features: Optimized With linaro 4.10 EXPERIMENTAL UNIFIED
Version Information
Status: Stable
Current Stable Version: 3.4.107-XPerience-26
Stable Release Date: 2015-05-23
Created 2014-06-18
Last Updated 2016-01-21
Reserved
HOW TO:
Report bugs:
https://plus.google.com/u/0/+PaulReioux/posts/BcWrhEr1JCz
Click to expand...
Click to collapse
MARSHMALLOW
3.4.71-XPerience-9
bump to 3.4.71 kernel linux
CPU Overclock 1.6ghz thnks to h2o64
ext4: don't orphan or truncate the boot loader inode
msm: kgsl: Report correct GPU frequency in sysfs
more faster wake lock
Enhance power efficiency
Add CPU undervolting,
F2FS patches
kgsl patches
qseecom patches
Chromium patches
Add support to HID: wiimote
add frandom support
3.4.42-XPerience-4a
Rebuilded from 3.4.42 and merge Motorola stock sources by intervigilium
Added Adreno idler
GCC 5xx fixes
VFP 4
Underclock gpu to 100mhz
GPU overclock to 500mhz
Dt2W/s2w
s2w bidirectional
Kernel mode neon
Add Bioshock,Lionheart, Smartmax and Dancedance Governors
Cortex-A7 optimizations
Optimize usage of MPDecision
And some old commits :3
============================================
LOLLIPOP
3.4.108-XPerience-28
Bump to v28
Bump to stable linux kernel 3.4.108 patch
Implemented ALESSA PLUG (A Hotplug optimized for QuadCore devices created by me)
By defaul are configured to off 2 cores you can change it with terminal
//to "transform" to dual core
echo 2 > /sys/kernel/alessa_plug/suspend_cpus
//to "transform" to single core
echo 3 > /sys/kernel/alessa_plug/suspend_cpus
//to return to quadcore
echo 1 > /sys/kernel/alessa_plug/suspend_cpus
msm: thermal: Update to speed up bootup time
power: qpnp-bms: Schedule recalculate_soc immediately in bms_resume
regulator: add notifier event for regulator enable
input: synaptics_rmi4: Register pm_ops regardless of CONFIG_FB
msm: mdss: Correctly calculate DSI clocks if fbc is enabled
Fix some Memory leaks
Optimized Crypto with Mode NEON
3:4:106-xperience-25+
Revert "media: radio: Fix building and loading the IRIS transport"
Revert "Remove Module support to make more according to CM changes (and fix issues of FM radio)"
Initialize this functions on 0 Like when you add variable like int value; The valor are 0 but for avoid warnings like "drivers/devfreq/simple_gpu_algorithm.c: In function 'simple_gpu_algorithm': drivers/devfreq/simple_gpu_algorithm.c:58:2: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized] error, forbidden warning: simple_gpu_algorithm.c:58"
Fix mm/slub.c:4542:11: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized] error, forbidden warning: slub.c:4542
gic: Remove redundant logging
gic: add calls to log wakeup_reason.
gpio: msm-common: Add wakeup reason logging
Power: Changes the permission to read only for sysfs file /sys/kernel/wakeup_reasons/last_resume_reason
power: wakeup_reason: rename irq_count to irqcount
Power: Add guard condition for maximum wakeup reasons
POWER: fix compile warnings in log_wakeup_reason
Power: add an API to log wakeup reasons
cpufreq: interactive: don't boost cpu if already boosted
arm/dts: 8x26: increase Falcon CMI panel VBP
cpufreq: cpu-boost: config cpu_boost separately
Improve kernel SELinux avc logging
mm: vmscan: do not count anon pages as reclaimable if swap is small
arm/dt: msm8226-moto-common: Change secure memory CMA size
fix error
msm8226_defconfig: Enable LZ4, and use it for ZRAM.
lib: lz4: Set ARM_EFFICIENT_UNALIGNED_ACCESS
zram: Add LZ4 support
lz4: add overrun checks to lz4_uncompress_unknownoutputsize()
lz4: fix another possible overrun
lz4: ensure length does not wrap
lz4: fix compression/decompression signedness mismatch
lib/lz4: correct the LZ4 license
lib: add lz4 compressor module
lib: add support for LZ4-compressed kernel
decompressor: add LZ4 decompressor module
ARM: Use -mtune=cortex-a7 for 8226/8610
msm8226_defconfig: Use -O2 not -Os
arm: msm: watchdog_v2: Init tzbsp_cpu_count
input: aps_ts: Init last
drivers: leds-qpnp-rgb: Init spmi_dev
Enable Crypto ARM
drivers/misc: bma2x2: set data in read_byte
bootinfo: Fix section mismatches
ARM: 8120/1: crypto: sha512: add ARM NEON implementation
ARM: 8119/1: crypto: sha1: add ARM NEON implementation
ARM: add support for kernel mode NEON
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: use -mcpu=cortex-a7 to get integer divide instruction
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
3.4.105-XPerience-24+ [lollipop no stock (maybe wifi issues on CM based rom)]
Hardexec reenabled
Hardcoded VFP
Wifi changed support to Powersuspend instead of Earlysuspend (battery saving)
lib/int_sqrt.c: optimize square root algorithm
mm page alloc update to 4096freekb
Updatetorch configs acording to last kk kernel
initial undervolting not configurable yet (WORK in progress)
Fixed some issues with underclocking
overclock bus 566mhz
Revamp spinlock ASM code
3.4.105-XPerience-23 [lollipop based/no stock]
Intelimm
Dt2w/s2w with improvements
A lot of patches for lollipop requeriments
ksm: Optimized
Wake_timeout: Default 60ms
stereo call recording support
Simple GPU Algorithm: Initial coding for devfreq based Adreno Drivers
lowmemorykiller: Don't try to kill the same pid over and over
and more...
3.4.105-XPerience22-[Only Custom lollipop like XPerience9 and CM12 based roms] 18/12/14
Configurable simple gpu algorithm via fauxclock
Work queue efficient
Quickwake up
Ext4 optimizations
Asynchonous Sync
Powersuspend bump to 1.5 [for lollipop]
PerCPU support
Faster wakelock's
ROW Hardcoded quantumm
3.4.105-XPerience22-[Only Custom lollipop like XPerience9 and CM12 based roms]
Bump to 3.4.105 patch
Some code cleanups
Corrections and bugfixes
added again 192mhz
Optimized gobernors
Input: Send events one packet at a time
Quadcore stats
mm: Increase number of GFP masks
mm: Increase VM min/max
short logcat coz Is alot of patches
3.4.57-XPerience-20 [ONLY FOR XPERIENCE 9 if you install it on CM you loose Wifi]
Alot of KGSL updates
MDSS fixes
More smoother
Optimized Performance
Led calibrations
msm: kgsl: Restrict GPU memory object alignment to 32MB
WCNSS power saver
ARM: dts: msm: Add power manager entry for wcnss …
ngd_slim: Register with QMI service in the slave-notification thread
ASoC: wcd9306: updates
Camera drivers updates with ion
mdss updates
More info on my github coz are a lot of patches
CM12
3.4.42-XPerience-19R-Lollipop-test2
SELinux Fix null pointer hooks
Upgraded SELinux binary inside ramdisk
Fix Data conection
Net and NL80211 fixes
Vidc and Venc decoders
---msm: vidc: add new control for limiting i/p buffer size
---msm: vidc: Amend calculation of buffer sizes in VENUS_BUFFER_SIZE
Enable NETDEV
Updates on Radio IRIS
Bluetooth: Remove unused hci_le_ltk_reply()
radio: iris: Fix the issue with hard mute IOCTL
radio: iris: Handle soft mute fail gracefully
Binary addes from my CM12
hostapd_cli
hostapd
dhcpcd.conf
modem.00 to 27
wcnss.01 to 08
widevine.b00 to b03
xtwifi.conf
Ramdisk improvements
XPerience Reworked
3.4.42-XPerience-19R [Wip]
Reworked using stable branch 3.4.0 of the kernel linux
Added patches from CM like New cam and others
KGSL updates
Added initial Simple GPU algorith
GPU overclock and CPU underclock
Initial governors [intellidemand,weatlhey]
Initial I/O Schedulers [ V(R),tripndroid,sio,fiops,zen]
Reworked Dt2w/s2w to older versions and optimized touch responsivitnes
Intelli_thermal v2
Intelliplug and optimized msmhotplug (Used for MPDecision)
Support of FauxSound and fixed some null pointers on tapan codecs
Better battery saver
LMK : optimized and Don't try to kill the same pid over and over
Kexec patch
Builded on NEON mode and fixes on Optimized RWSem for neon
drivers: usb: Use Android device as USB keyboard/mouse
stereo call recording support
A lot of optimizations
Work in progress im workingfor add all the stuff
alot of changes and improvements in ramdisk
CHANGELOG:
#########################
#### STOCK ROM ###
#########################
3.4.104-XPerience-STK-18+
Updated to 3.4.104 Linux kernel
all of the v17
fixed some eMMC entrophy
Added zRAM
minimal improvements
Squashed commits of enhance power efficiency
wake_timeout: increase delay to ensure panel is shut down properly
wake_timeout: don't disable wake functions if s2w and dt2w are disable
add governors like 18 for custom
Read older changelog for STK version inside Spoiler:
3.4.103-XPerience-STK-16+
LCD_KCAL
intelli_thermal_v2 (Need app fauxclock 2.2.5)
SELinux: Fix possible NULL pointer dereference in selinux_inode_permissions
fix false disconnect due to a signal sent to the reading process
Power: add an API to log wakeup reasons
Power: Add guard condition for maximum wakeup reasons
POWER: fix compile warnings in log_wakeup_reason
nf: IDLETIMER: time-stamp and suspend/resume handling.
nf: Remove compilation error caused by
Enabled CIFS
Power: Changes the permission to read only for sysfs file
/sys/kernel/wakeup_reasons/last_resume_reason
net: ipv4: current group_info should be put after using.
selinux: Report permissive mode in avc: denied messages.
usb: gadget: f_accessory: Enabled Zero Length Packet (ZLP)
cgroup: Take css_set_lock from cgroup_css_sets_empty()
cgroup: Fix use after free of cgrp (cgrp->css_sets)
ext4: Add support for FIDTRIM, a best-effort ioctl for deep
discard trim
msm: kgsl: Fix memory entry leak when calling
adreno_convertaddr
msm: kgsl: Keep track of kernel space mappings to memory
msm: kgsl: Skip the entire command during fault recovery
msm: vidc: Add instance to instance list prior to CORE_INIT.
ASoC: wcd9306: fix the NULL pointer dereference in the tapan
codec
msm: kgsl: Add a flag to mark user mapped GPU buffers.
ARM: dts: msm: use ordered workqueue only when specified
ARM: dts: msm: add frequency to corner mappings for msm8226v2
ARM: dts: msm: add support for qseecom bus scaling for 8074, 8226 and 8610
mmc: core: Fix power class config for HS400
msm_bam_rmnet: Fix potential memory corruption
cpufreq: cpu-boost: Export cpu boost status
cpu boost more slow changed to 60ms
Tweaked gobernors
3.4.103-XPerience-STK-15+
Added intelli-thermal
Intelli_plug
Intelliactive
fix some leaks on XPerience gob (Not for play games (some games are playable others have lag)
Added support to new drivers on TPA6165 extensions and Telephony Extensions for FauxSound 1.4.6 [fix recognition of MSM8226-Tapan930]
updated ramdisk to make support of 4.4.4
Low power mode framework
Updated Faux HACK sound to 3.4
Changes in ramdisk
No more CPU overclock
Overclocked RAM like custom version
Optimized slimbus
Added support of GPE edition. (Not tested yet)
Drivers: platform: msm: qpnp-vibrator: Add sysfs interface
for intensity
Mini CPU Overclock more stable because are provided by Qualcomm
3.4.103-XPerience-14+
mpt2sas: Fix for device scan following host reset could get stuck in
a infinite loop
mpt2sas: Fix for issue Missing delay not getting set during system bootup
iscsi-target: Always send a response before terminating iSCSI
connection
target: Fix MAINTENANCE_IN service action CDB checks to use lower 5
bits
upgraded to 3.4.95
upgraded to 3.4.96
ALSA updates
upgraded to 3.4.97
upgraded to 3.4.98
upgraded to 3.4.99
upgraded to 3.4.100
upgraded to 3.4.101
upgraded to 3.4.102
upgraded to 3.4.103
Kexec patch (Multirom support)
NOTE I say only upgraded to because are a lot of patches and fixes xD
(Sorry for now the bootlogo say 13+ I upload the kernel with the 14+ in the logo i forget it was in v14)
3.4.7x-XPerience-STK-13--[WIP]
Updated to upstream linux kernel 3.4.73
fix slow booting
added some changes on XPERIENCE gob (reduce some laggines)
updated to linux kernel 3.4.74
(all upstream of linux kernel have 30 patches or more so im not add changes of all upstream)
Sound/soc/msm fixes
Some SELinux fixes.
Merge kitkat-mr3-rel-falcon from MotorolaMobilityLLC
updated to linux kernel 3.4.75
updated to linux kernel 3.4.76
n_tty: Fix n_tty_write crash when echoing in raw mode
net: ipv4: current group_info should be put after using.
mmc: throttle back the bus on CRC errors
mmc: only extend the detect wakeup source once
mmc: throttle back high voltage cards too
mmc: sdhci: don't spew on CRC errors
futex-prevent-requeue-pi-on-same-futex.patch futex: Forbid uaddr == uaddr2 in futex_requeue(..., requeue_pi=1)
arm/dt: 8x26: Set min. CPU voltage to 1.14v
updated to linux kernel 3.4.77
updated to linux kernel 3.4.78
updated to linux kernel 3.4.79
updated to linux kernel 3.4.80
updated to linux kernel 3.4.81
updated to linux kernel 3.4.82
updated to linux kernel 3.4.83
updated to linux kernel 3.4.84
updated to linux kernel 3.4.85
updated to linux kernel 3.4.86
updated to linux kernel 3.4.87
updated to linux kernel 3.4.88
updated to linux kernel 3.4.89
updated to linux kernel 3.4.90
updated to linux kernel 3.4.91
updated to linux kernel 3.4.92
3.4.72-XPerience-STK-12--
upgraded to 3.4.72 linux kernel
Fixed wifi issues
Updated Faux sound driver to 3.4
Updated ramdisk and comprezed to LZ4
scheduler: compute time-average nr_running per run-queue
proc: enhance time-average nr_running stats
scheduler: Re-compute time-average nr_running on read
Improvement performance.
Intellidemand 5.5
Intelliactive
Deleted MPDesicion
GPU: Simple_ondemand
GPU: Conservative
Exfat support
over 400 patches
ARM: 7495/1: mutex: use generic atomic_dec-based implementation for ARMv6+
Updated xperience Gob
lowmemorykiller: Don't try to kill the same pid over and over
lib/lzo: huge LZO decompression speedup on ARM by using unaligned access
Added optimized ARM RWSEM algorithm.
power: msm_battery: Increase battery check interval from 5 seconds to 15 seconds.
ARM: 7583/1: decompressor: Enable unaligned memory access for v6 and above
PM / devfreq: Check for GPU busy time before sending the sample
msm: kgsl: Delay the first devfreq status read
msm: kgsl: Export device state to devfreq
PM: devfreq: Use high priority workqueue
PM: devfreq: conservative: Return 0 if GPU just started
PM: devfreq: Fix show available freqs
3.4.50-XPerience-STK-11
Linux 3.4.43
net: drop dst before queueing fragments
net: fix incorrect credentials passing
net: rate-limit warn-bad-offload splats.
tcp: call tcp_replace_ts_recent() from tcp_ack()
esp4: fix error return code in esp_output()
TTY: do not update atime/mtime on read/write
aio: fix possible invalid memory access when DEBUG is enabled
Linux 3.4.44
mmc: core: Fix bit width test failing on old eMMC cards
ext4: fix online resizing for ext3-compat file systems
ext4: fix journal callback list traversal
jbd2: fix race between jbd2_journal_remove_checkpoint and ->j_commit_callback
nfsd4: don't close read-write opens too soon
Linux 3.4.45
kernel/audit_tree.c: tree will leak memory when failure occurs in audit_trim_trees()
tracing: Fix ftrace_dump()
drm/radeon: fix handling of v6 power tables
cpufreq / Longhaul: Disable driver by default
ext4: add check for inodes_count overflow in new resize ioctl
Linux 3.4.46
usermodehelper: check subprocess_info->path != NULL
fix NULL pointer dereference at 0000000000000198
KVM: VMX: fix halt emulation while emulating invalid guest sate
Linux 3.4.47
media: mantis: fix silly crash case
i2c: designware: always clear interrupts before enabling them
hwmon: fix error return code in abituguru_probe()
Linux 3.4.48
mac80211: close AP_VLAN interfaces before unregistering all
jfs: fix a couple races
mm: mmu_notifier: re-fix freed page still mapped in secondary MMU
wait: fix false timeouts when using wait_event_timeout()
Linux 3.4.49
ftrace: Move ftrace_filter_lseek out of CONFIG_DYNAMIC_FTRACE section
Linux 3.4.50
mm: migration: add migrate_entry_wait_huge()
swap: avoid read_swap_cache_async() race to deadlock while waiting on discard I/O completion
cciss: fix broken mutex usage in ioctl
Bluetooth: Fix mgmt handling of power on failures
drivers/rtc/rtc-twl.c: fix missing device_init_wakeup() when booted with device tree
3.4.42-XPerience-STK-10+
For Stock 4.4.3 or higher.
XPerience Gobernor
Faux sound
DT2W-S2W
Based on Stock Motorola's
msm: acpuclock: Fix acpuclk_get_rate
Dynamic management of dirty page writebacks, expire and cache pressure
Ext4 : Increase speed
drivers/video/msm/mdss/mdss_dsi_panel.c: add powersuspend …
Powersuspend 1.5
Optimizes SLUB
Added XPerience Gobernor some part are based on Smartassv2
ARM: add support for bit sliced AES using NEON instructions
arm/crypto: Add optimized AES and SHA1 routines
msm: kgsl: Schedule adreno_start in a high priority workqueue
Clenaed code
lowmemorykiller: Don't try to kill the same pid over and over
devfreq/governor_simpleondemand.c fix bug
arch: arm: vfp : Hardcoded and optimized on neon
Optimization for cortex-a7
cpufreq: interactive: Honor boosted state when entering idle
cpufreq: interactive: Use frequency dependent per cpu timings
arm: Add support for LZ4-compressed kernel
Fix ARM: 7587/1: implement optimized percpu variable access
ARM: 7746/1: mm: lazy cache flushing on non-mapped pages
net: loopback: set default mtu to 64K
STING_power: decrease the amount of time the device waits after entering low power mode to freeze processes. Testing phase at the moment
init: main: commented out ftrace_init() because I don't use ftrace for released kernels, only for my own debugging. Should save few ms during boot.
sync: don't block the flusher thread waiting on IO
ARM: Fix negative idle stats for offline cpu
Asynchronous Fsync: initial extraction of Async Fsync from HTC
f2fs:data: add AIO optimization …
Reduce Disk Writes With noatime, nodiratime noatime, nodiratime
drivers/devfreq/governor_simpleondemand.c Fix again (posible other bug)
drivers: usb: Use Android device as USB keyboard/mouse
stereo call recording support
jbd2: optimize jbd2_journal_force_commit
frandom
ARM: Allow CPU-supported unaligned accesses
#########################
#### MIUI ROM ###
#########################
3.4.104-XPerience-MIUI-18+
updated ramdisk
Fix some memory leaks [I can't fix a lot of memory leaks because is a CM based and cm are ****ty now]
Reverted OC No more placebo effect
Squashed commits of enhance power efficiency
ext4: Speedup WB_SYNC_ALL pass called from sync
ct406: Fix Prox sensor enable.
wake_timeout: increase delay to ensure panel is shut down properly
wake_timeout: don't disable wake functions if s2w and dt2w are disabl
3.4.104-XPerience-MIUI-17+
Updated ramdisk with improvements for miui
add some permissions for se_app context
added tomoyo security
lz4 ramdisk on miui
all of the later 17 version
fixed some memory leaks for miui
#########################
#### Custom ROM ###
#########################
3.4.104-XPerience-18+
Reverted OC No more placebo effect
Squashed commits of enhance power efficiency
ext4: Speedup WB_SYNC_ALL pass called from sync
ct406: Fix Prox sensor enable.
Intelli_plug updated to 3.8
Updates in the ramdisk
wake_timeout: increase delay to ensure panel is shut down properly
wake_timeout: don't disable wake functions if s2w and dt2w are disable
s2w/dt2w: Some implementations for make a usable in Deep sleep [on s2w reverted support of wake gestures only on s2w]
Klozz_hotplug [yeap Iknow xd I change the name later]
in spoiler how to configure it:
First need disable mpdecision and intelli_plug :
later put in therminal emulator:
#enable klozz_hotplug
Code:
echo "1" > /sys/kernel/klozz_hotplug/hotplug_enable
#you can set the max cores
maxcoreslimit by default use the 4 cores
maxcoreslimit_sleep by default use 1 core
min_cpus_online by default 1
Code:
echo "numofthemaxcore" /sys/kernel/klozz_hotplug/maxcoreslimit
ejem: echo "2" /sys/kernel/klozz_hotplug/maxcoreslimit
echo " 2" /sys/kernel/klozz_hotplug/maxcoreslimit_sleep
echo "2" /sys/kernel/klozz_hotplug/min_cpus_online
New governor: detailed info in spoiler
-- Adaptive
This driver adds a dynamic cpufreq policy governor designed for latency-sensitive workloads and also for demanding
performance.
This governor attempts to reduce the latency of clock increases so that the system is more responsive to
interactive workloads in loweset steady-state but to to reduce power consumption in middle operation level level up
will be done in step by step to prohibit system from going to max operation level.
-- AbyssPlug
'abyssplug' - this driver mimics the frequency scaling behavior in 'ondemand', but with several key differences. First is
that frequency transitions use the CPUFreq table directly, instead of incrementing in a percentage of the maximum
available frequency. Second 'abyssplug' will offline auxillary CPUs when the system is idle, and online those CPUs once the
system becomes busy again. This last feature is needed for architectures which transition to low power states when only
the "master" CPU is online, or for thermally constrained devices.
-- Alessa (My own gobernor Bugged for now :/)
#Dedicated to Stephanny Cooper :#
Based on ondemand less aggressive and more stable. A good compromise between performance and battery.
and ussable with my own hotplug
3.4.104-XPerience-17+
Linux kernel 3.4.104
Dt2w/s2w more sensitive
Add lcd notify
Add [WIP] Wake gestures [Need the Wake gestures app(XPosed module)]
ext2: Fix fs corruption in ext2_get_xip_mem()
slab/mempolicy: always use local policy from interrupt context
Option to disable touch wake with power button and prevent sleep
add support for wakelock on doubletap2wake/sweep2wake
Wake timeout
ARM: 8129/1: errata: work around Cortex-A15 erratum 830321 using dummy strex
added OC again
Overclocked RAM and Bus to 600mhz
Slimbus: Increase clock gear from 7 to 10
Ramdisk improvements
Reserved
Recomended,
You can use Trickstermod For kernel tunning.
https://play.google.com/store/apps/details?id=com.bigeyes0x0.trickstermod
KUI - A Kernel Tweaker
https://play.google.com/store/apps/details?id=com.WiZarD.KUI
Kernel Tweaker
https://play.google.com/store/apps/details?id=com.dsht.kerneltweaker
Note: what is VFP?
Floating-point (VFP)
VFP (Vector Floating Point) technology is an FPU coprocessor extension to the ARM architecture. It provides low-cost single-precision and double-precision floating-point computation fully compliant with the ANSI/IEEE Std 754-1985 Standard for Binary Floating-Point Arithmetic. VFP provides floating-point computation suitable for a wide spectrum of applications such as PDAs, smartphones, voice compression and decompression, three-dimensional graphics and digital audio, printers, set-top boxes, and automotive applications. The VFP architecture was intended to support execution of short "vector mode" instructions but these operated on each vector element sequentially and thus did not offer the performance of true single instruction, multiple data (SIMD) vector parallelism. This vector mode was therefore removed shortly after its introduction, to be replaced with the much more powerful NEON Advanced SIMD unit.
Some devices such as the ARM Cortex-A8 have a cut-down VFPLite module instead of a full VFP module, and require roughly ten times more clock cycles per float operation. Other floating-point and/or SIMD coprocessors found in ARM-based processors include FPA, FPE, iwMMXt. They provide some of the same functionality as VFP but are not opcode-compatible with it.
VFPv1
Obsolete
VFPv2
An optional extension to the ARM instruction set in the ARMv5TE, ARMv5TEJ and ARMv6 architectures. VFPv2 has 16 64-bit FPU registers.
VFPv3 or VFPv3-D32
Implemented on the Cortex-A8 and A9 ARMv7 processors. It is backwards compatible with VFPv2, except that it cannot trap floating-point exceptions. VFPv3 has 32 64-bit FPU registers as standard, adds VCVT instructions to convert between scalar, float and double, adds immediate mode to VMOV such that constants can be loaded into FPU registers.
VFPv3-D16
As above, but with only 16 64-bit FPU registers. Implemented on Cortex-R4 and R5 processors.
VFPv3-F16
Uncommon; it supports IEEE754-2008 half-precision (16-bit) floating point.
VFPv4 or VFPv4-D32
Implemented on the Cortex-A12 and A15 ARMv7 processors. VFPv4 has 32 64-bit FPU registers as standard, adds both half-precision extensions and fused multiply-accumulate instructions to the features of VFPv3.
VFPv4-D16
As above, but it has only 16 64-bit FPU registers. Implemented on Cortex-A5 and A7 processors.
What is NEON?
Advanced SIMD (NEON)
The Advanced SIMD extension (aka NEON or "MPE" Media Processing Engine) is a combined 64- and 128-bit SIMD instruction set that provides standardized acceleration for media and signal processing applications. NEON is included in all Cortex-A8 devices but is optional in Cortex-A9 devices. NEON can execute MP3 audio decoding on CPUs running at 10 MHz and can run the GSM adaptive multi-rate (AMR) speech codec at no more than 13 MHz. It features a comprehensive instruction set, separate register files and independent execution hardware. NEON supports 8-, 16-, 32- and 64-bit integer and single-precision (32-bit) floating-point data and SIMD operations for handling audio and video processing as well as graphics and gaming processing. In NEON, the SIMD supports up to 16 operations at the same time. The NEON hardware shares the same floating-point registers as used in VFP. Devices such as the ARM Cortex-A8 and Cortex-A9 support 128-bit vectors but will execute with 64 bits at a time, whereas newer Cortex-A15 devices can execute 128 bits at a time.
HOW TO CHANGE CPU FREQ
NOTE: if you need change CPU freq disable MPDecision use PERFORMANCE CONTROL
HOW TO Disable MPdecision via Terminal
Comands in bold
Code:
[B]stop mpdecision [/B]==> to disable mpdecision
[B]echo "intellidemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor[/B] ==> switch to intellidemand governor
[B]echo 1 > /sys/module/intelli_plug/parameters/eco_mode_active[/B] ==> to enable Eco mode.
CPU FREQ: aprox.
192000 <-- 192mhz
300000 <-- 300mhz
384000 <--385mhz
600000 <-- 600mhz
787200 <-- 800mhz
998400 <-- 1ghz
1094400 <-- 1.1ghz
1190400 <-- 1.2ghz
1305600 <-- 1.3ghz
1344000 <-- 1.35ghz
1401600 <-- 1.4ghz
1497600 <-- 1.5ghz
1593600 <-- 1.6ghz
Explanation of XPerience Gobernor:
XPerience gob - based on SmartassV2 Optimized parameters for proper scaling on frequency,
gradually scale frequencies up to the highest depending on the needs of processing.
Getting a little boost when necessary according to MPDecision
Such as adjustable parameters were added:
Code:
awake_ideal_freq; 780mhz by default
sleep_ideal_freq; */ 600mhz by default and are good./*
ramp_up_step; */356mhz so scaleable by 356mhz up to the maximum frequency*/
ramp_down_step; */the same like up but are for max to min*/
max_cpu_load; */ CPU freq will be increased if measured load > max_cpu_load*/
min_cpu_load; */ CPU freq will be decreased if measured load < min_cpu_load;*/
sleep_wakeup_freq; */The frequency to set when waking up from sleep. set to máx posible by procesor*/
BUG REPORTING:
With logcad and Dmesg if you no provide them your report will be ignored.
Click to expand...
Click to collapse
Some configs to make best performance, battery save etc.
configs for battery save
cpu hotplug: Intelli_plug
Hot plug profiles: eco performance 2
Threshold value: 500
cpu gobernor: XPerience or intellimm (later to release)
GPU: simple_ondemand or msm-tz and set gpu to 450max
CPU min: 300mhz(if you set 192mhz you can have lag with xperience gobernor)
CPU MAX: 1.2ghz
I/O scheduler: Noob, V(R) or bfq(better)
Read ahead (eMMC): 1024
zRam enabled , clean cache VFS enabled, Auto FS writeback Delay mode enabled
Dirty background tario 13%
Intelli ksm enabled
Thermal: Intelli_thermal_v2 (only with faux app 2.2.5)
Thermal Temp: 60°C in the 2 options.
screen: Hybrid
TCP: Westwood
Fastcharger: disabled
Click to expand...
Click to collapse
Best Performance:
cpu hotplug: MPdecision
cpu gobernor: intelliactive or interactive
GPU: Performance set to 500mhz
CPU min: 600mhz
CPU MAX: 1.2ghz
I/O scheduler: Noob, V(R) or bfq(better)
Read ahead (eMMC): 1024
zRam enabled , clean cache VFS enabled, Auto FS writeback Delay mode enabled
Dirty background tario 13%
Intelli ksm enabled
Thermal: Intelli_thermal_v2 (only with faux app 2.2.5)
Thermal Temp: 60°C in the 2 options.
screen: Hybrid
TCP: Westwood
Fastcharger: disabled
Click to expand...
Click to collapse
Balanced:
cpu hotplug: Intelli_plug
Hot plug profiles: balanced 4
Threshold value: 500
cpu gobernor: XPerience , intelliactive, intellidemand
GPU: msm-tz (500mhz)
CPU min: 300mhz(if you set 192mhz you can have lag with xperience gobernor if not use xperience gob you can set 192mhz)
CPU MAX: 1.2ghz
I/O scheduler: Noob, V(R) or bfq(better)
Read ahead (eMMC): 1024
zRam enabled , clean cache VFS enabled, Auto FS writeback Delay mode enabled
Dirty background tario 13%
Intelli ksm enabled
Thermal: Intelli_thermal_v2 (only with faux app 2.2.5)
Thermal Temp: 60°C in the 2 options.
screen: Hybrid
TCP: Westwood
Fastcharger: disabled
Click to expand...
Click to collapse
HOW TO:
Report bugs:
info about your error and read this.
f you not provide the files i cant help you
https://plus.google.com/u/0/+PaulRei...ts/BcWrhEr1JCz
Click to expand...
Click to collapse
just flashed kernel, am currently on Lego ROM, boot lag seems to have gone. seems pretty smooth. good work thanks.
Sent from my Moto G using Tapatalk
OC works?
Sent from my Moto G using XDA Free mobile app
K3VYNC said:
OC works?
Sent from my Moto G using XDA Free mobile app
Click to expand...
Click to collapse
Sure.
robt77 said:
just flashed kernel, am currently on Lego ROM, boot lag seems to have gone. seems pretty smooth. good work thanks.
Sent from my Moto G using Tapatalk
Click to expand...
Click to collapse
What version you flash ?
to add in OP
Thanks for use it
TeamMex said:
What version you flash ?
to add in OP
Thanks for use it
Click to expand...
Click to collapse
used CM version
Sent from my Moto G using Tapatalk
Working well with C rom 7.0
I installed cm version
Needed to check about battery drop in deep sleep
Btw c rom has became very smooth and no boot lag
where is stock kernel link?
It not ready yet?
asdgonzalez said:
where is stock kernel link?
It not ready yet?
Click to expand...
Click to collapse
No, I have problems whit Stock version, I testing more the ramdisk
Because does not boot in Stock rom (for now)
What one would you suggest for Slim ROM?
Sent from my Moto G using Tapatalk
Totally loving it. Running smooth as butter on crom.
Would it be possible to add faux sound support in the future?
skeetzor said:
What one would you suggest for Slim ROM?
Sent from my Moto G using Tapatalk
Click to expand...
Click to collapse
Maybe CM_MK or PAC
If not well XPe_PA if not Send me boot.img from Slimkat rom
OC really working? Thanks for contributing!
RenderBroken said:
OC really working? Thanks for contributing!
Click to expand...
Click to collapse
Sure.
Seems like only a ram oc, like on the other kernels. The difference in performance increase isn't noticeable in benchmarks.
Sent from my Moto G using Tapatalk
Is there the 2tap2wake feature??
Rocketval said:
Is there the 2tap2wake feature??
Click to expand...
Click to collapse
You read OP or changelog?
TeamMex said:
You read OP or changelog?
Click to expand...
Click to collapse
Sorry, is it going to be added?
{
"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"
}
Hello, friend.
Inspired by @wrongway213's original custom kernel for Pixel 4/XL, I decided to make my own project once I grab my hand on a Google device myself. The naming is a tribute to both his ideas and Mr. Robot. fsociety tribute's goal is to give the device a set of useful features while ensuring its stability for a daily life usage. Those features and changes are pulled from different places like blu.spark, Sultan kernel, Kirisakura and many more.
Features
General features
Built with Google Clang version 14.0.2 + LLD linker
Full -O3 build with chipset's flags included (thanks to @eng.stk and @Sultanxda)
AnyKernel3 powered installation to stay OTA and flashers (EXKM, FKM...) friendly
ARM64 architecture optimization and performance patches
Merged security and code fixes from Google and Qualcomm - CAF
Filesystem (ext4/f2fs) optimizations
Scheduler code improvements for better CPU tasks assigning
Disabled several debugging cruft
WireGuard support
Memory related features
Merge zRAM and zRAM's compression algorithm code updates
Increase zRAM's disksize to 4GB (from the stock 2GB). Apps can be easily memory intensive nowadays...
Swap 1 page at a time instead of the default's 8, so that it may help in case "the device is under extreme memory pressure"
(source: https://source.android.com/devices/tech/perf/low-ram)
Reduce memory and CPU time usage by avoiding dynamic memory allocations in different kernel components (thanks to @arter97 and @Sultanxda)
Network related features
Set BBR as the default TCP network congestion control and switch to fq_codel queue discipline
(this combination improves network speed and reliability - thanks to @kdrag0n)
Enable support for TTL spoofing
Update Wireguard to its latest release
Power-saving related features
The processor uses freq-energy-model with calculated capacities for power efficiency
Some of the main kernel parts (such as the audio drivers and the WLAN driver's delayed work/tasks) now use power-efficient workqueues (thanks to @Freak07)
Display "power-saving tweaks" merged-in (from Proton kernel - Pixel 4a 5G/Pixel 5)
Reduce the GPU idle timeout set to 58 ms and implement GPU power-saving changes from Sultan kernel
battery: Tweak QG SOC to be more linear/monotonic (from Proton kernel)
That fixes the stock kernel's unlinear battery level curve, especially between 100% and 90%. The device will need a few charge-discharge cycles to take it into consideration
Performance related features
Implement LRNG for better performance
Disable the GPU memory usage tracing (which was enabled for debugging purposes)
Return before thermal trip evaluates (it is a workaround for the lag occurring when the device is low on battery and automatically switches to battery saving mode)
Other under the hood changes
Extra features
KCAL Color Control with KLAPSE v5.0 support (thanks to @savoca, @tbalden, @flar2 and @eng.stk)
Backlight min. brightness and HBM option (thanks to @flar2)
Boeffla Wakelock Blocker (to use with caution, and only if it is necessary)
Download & Links
#2.66 Android 12 ZIP download: https://sourceforge.net/projects/fs...a12/fsociety-tribute-stable#2.66.zip/download
#2.62 Android 11 ZIP download: https://sourceforge.net/projects/fs...a11/fsociety-tribute-stable#2.62.zip/download
Android 12 Franco Kernel Manager custom json: https://raw.githubusercontent.com/fsociety-tribute/sunfish/a12/fkm/fkm.json
Android 11 Franco Kernel Manager custom json: https://raw.githubusercontent.com/fsociety-tribute/sunfish/a11/fkm/fkm.json
Telegram group: https://t.me/fsociety_tribute_sunfish
Donations: PayPal
Credits go to
@eng.stk for their clean sourcedrops' bases, their personal pieces of advice and also for their contributions
@wrongway213 for inspiring me to achieve this project, their precious free time and also for their contributions (especially this thread template)
@Freak07 for his guidance in solving my first kernel compiling issues and for his amazing contributions
@arter97 for his contributions
@kdrag0n for Proton kernel and their innovative contributions
@osm0sis for AnyKernel3 and his contributions
@Sultanxda for their outstanding contributions
@Kaz205 for their contributions
@flar2 for his contributions
@HolyAngel for HolyDragon kernel and their contributions
@pkgnex for his tuning script and contributions
@nathanchance for his compilation guides and repos
Thanks to
@badaas, @beeshyams and all my Telegram's group members for being the awesome testers they are
Every person that submitted a donation and showed me their support!
XDA:DevDB Information
fsociety tribute for Pixel 4a, Kernel for the Google Pixel 4a
Contributors
momojuro
Source code: Github repository
Kernel Special Features: Boeffla Wakelock Blocker, KCAL, KLAPSE, Wireguard
Version Information
Status: Stable
Current Stable Version: 2.66 (A12) - 2.62 (A11)
Stable Release Date: 2022-03-13
Created 2021-04-06
Last Updated 2022-03-13
Changelog
Spoiler: History
alpha#1.00
Initial release
alpha#1.01
Reverted some under the hood commits to prepare for future updates
Different cpuidle fixes and optimizations (thanks to @wrongway213)
Thanks to @eng.stk for these changes:
Merge branch android-msm-sunfish-4.14-android11-qpr2 (Apr 2021.1)
BACKPORT: GKI: hwtracing: Add a driver for disabling coresight clocks (backport from Pixel 5, less idle draw)
Revert the latest merged CAF patches and fixes applied to the KGSL graphic driver
Revert "AIO: Don't plug the I/O queue in do_io_submit()"
power: smb5: Disable debug logging
Revert "f2fs: Fix deadlock between f2fs_quota_sync and block_operation"
f2fs: shrink node_write lock coverage
Revert "kbuild: disable clang's default use of -fmerge-all-constants"
techpack: data: don't build emac-dwc-eqos
Remove some logspam in net/sched
alpha#1.02
A bunch of optimization commits used in Kirisakura included. Huge respect to @Freak07.
These changes mainly concern the GPU and the CPU architecture.
In addition to this, normal grace periods are now preferred to reduce power usage (Thanks a lot to @kdrag0n for his approach).
Finally, boeffla wakelock blocker doesn't block any wakelock by default for now, but you can add your own to the blocklist.
alpha#1.03
BBR v2 set as the default TCP network congestion control instead of Westwood (thanks to @Freak07).
Thanks to @LazerL0rd for having these changes imported :
- Imported upstream Bluetooth fixes.
- fs: ext4: fsync: optimize double-fsync() a bunch.
- Initialize ata before graphics.
- Re-enabled BPF JIT compiler to improve gaming and overall system performance
(thanks to @Sultanxda).
- arm64: lib: memory utilities optimization.
alpha#1.04
defconfig: Don't pre-create any loop devices (speeds up the booting process slightly)
defconfig: Disable UFS logging
sched: fair: Stop running idle_balance on active migration kick
cpufreq: Avoid leaving stale IRQ work items during CPU offline
Different CAF fixes and patches (thanks to @arter97 for providing the CAF repo mirror)
Revert "fs: ext4: fsync: optimize double-fsync() a bunch"
Revert "msm: kgsl: Increase worker thread priority"
Revert: "defconfig: Enable the BPF JIT compiler"
beta #1.00
drivers: char: mem: Reroute random fops to urandom
defconfig: Boot with schedutil
Revert "linux: blkdev: Set nr_requests to 64"
include: linux: Update nr_requests and read-ahead values (to stock 128, and 512 respectively)
defconfig: Reduce timer frequency to 100 Hz (for less power consumption)
block: Disable I/O stats accounting by default (to reduce approximate 0.5/1% overhead for block devices)
defconfig: Disable debug and some unused drivers config
net: add WireGuard from wireguard-linux-compat
Different scheduler improvement commits cherry-picked from Sultan kernel
More CAF patches and fixes for the KGSL graphic driver
beta#1.01
wireguard: Update to version 1.0.20210219
Revert "defconfig: Reduce PELT half-life from 32 ms to 16 ms"
beta#1.02
Revert the latest merged CAF patches and fixes applied to the KGSL graphic driver
Revert "AIO: Don't plug the I/O queue in do_io_submit()"
power: smb5: Disable debug logging
beta#1.03
Thanks to Sultanxda and kdrag0n for the following changes:
disp: msm: Don't clear dim layers when there aren't any applied
defconfig: Enable the BPF JIT compiler (again)
defconfig: Enable ZSTD
defconfig: Omit CPU and PID from console printk
defconfig: Disable GPU memory usage tracing
scsi: ufs: Only create one pm_qos object for the IRQ
scsi: ufs: Only apply pm_qos to the CPU servicing UFS interrupts
scsi: ufs: Remove 10 ms CPU idle latency unvote timeout
Revert "mutex: Add a delay into the SPIN_ON_OWNER wait loop."
Revert "usb: gadget: mtp: Increase RX transfer length to 1M"
Revert "usb: gadget: f_mtp: Increase default TX buffer size"
scatterlist: Don't allocate sg lists using __get_free_page
mm: kmemleak: Don't die when memory allocation fails
mm: kmemleak: Don't require global debug options or debugfs
pinctrl: msm: Remove explicit barriers from mmio ops where unneeded
dma-buf/sync_file: Speed up ioctl by omitting debug names
msm: camera: Stub out the camera_debug_util API and compile it out
locking/rwsem: Don't hog RCU read lock while optimistically spinning
locking/mutex: Don't hog RCU read lock while optimistically spinning
cpuidle: Mark CPUs idle as late as possible to avoid unneeded IPIs
cpuidle: Optimize pm_qos notifier callback and IPI semantics
arm64: Allow IPI_WAKEUP to be used outside of the ACPI parking protocol
kernel: Only set one CPU in the default IRQ affinity mask
kernel: Don't allow IRQ affinity masks to have more than one CPU
qos: Don't allow userspace to impose restrictions on CPU idle levels
msm: kgsl: Wake GPU upon receiving an ioctl rather than upon touch input
beta#1.04
Thanks to Sultanxda and engstk for the following changes:
msm: kgsl: Don't allocate memory dynamically for drawobj sync structs
bpf: Avoid allocating small buffers for map keys and values
defconfig: Reduce PELT half-life from 32 ms to 16 ms (again, and correctly this time)
defconfig: Enable USB2 Fast Charge
drivers: misc: power: implement usb2 fast charge mode
beta#1.05
Revert the following changes:
msm: kgsl: Don't allocate memory dynamically for drawobj sync structs
bpf: Avoid allocating small buffers for map keys and values
defconfig: Reduce PELT half-life from 32 ms to 16 ms (again, and correctly this time)
stable#1.00
Thanks to everyone involved in the following changes, and to my testers from the Telegram group:
sched: Import sched_irq_work_queue()
cpufreq: schedutil: Queue sugov irq work on policy online cpu
cpufreq: schedutil: Fix the incorrect average capacity calculation
drivers: binder: silence logging
mm: Increase vmstat interval to 1 minute
msm: ipa: add check to see if pm client is not NULL
drm/msm/sde: Skip heavy autorefresh checks when it's not enabled
do accept() in LIFO order for cache efficiency
power: Reduce debug logging if logbuffer is still enabled
defconfig: Unset CONFIG_SCHEDSTATS
defconfig: Set timer frequency to 250 Hz
defconfig: Disable some crufts
defconfig: Disable SLUB per-CPU partial caches
defconfig: Disable unnecessary errata
Kbuild: Optimize more crypto drivers with crypto extensions
kbuild: Proper CPU optimization flags for Clang and GCC
scsi: ufs: Keep UniPro in FASTMODE
scsi: ufs: Fix ufshcd_probe_hba() return value when fails to reinit
scsi: ufs: handle error to avoid kernel panic
usb: dwc3: gadget: Issue soft reset as part of composition switch
UPSTREAM: sched/rt: Disable RT_RUNTIME_SHARE by default
Revert "msm_geni_serial: reduce wakelock timeout from ISR to 100ms"
Revert "msm: camera: Stub out the camera_debug_util API and compile it out"
Revert "msm: camera: disable debug logging"
Revert "msm: camera: Fix memory leak"
dts: fix missing frequency on sd730
arm64: Makefile: Proper CPU optimization flags for Clang and GCC
arm64: dts: sdmmagpie: Allow big cluster to idle in USB perf mode
arm64: dts: sdmmagpie: Power off DSI PHY during idle PC
arm64: Kconfig: disable some tracers
ARM64: sdmmagpie: fix a few freq inconsistencies
ARM64: sdmmagpie: add lower freq to llcc-bw bus
ARM64: dst: sdmmagpie-idp: scale SSOC with BSOS
ARM64: dts: sdmmagpie: fix max frequencies
ARM64: dts: magpie: Remove unused conflicting disp_rdump_memory region
stable#1.01
Thanks to everyone involved in the following changes:
drivers: thermal: Return zero on success for qmi_tmd_send_state_request.
drivers: thermal: step_wise: Handle the temperature stable trend.
drivers: thermal: step_wise: Clear mitigation on reaching clear threshold
sched/core: fix preemption disable tracking during context switch to idle
cpumask: Add cpumasks for big and LITTLE CPU clusters
defconfig: Configure big and LITTLE CPU masks
defconfig: set exfat-linux options
fs: exfat: add version 2.2.0-3arter97 (like it is the case with CAF latest changes)
kernel: Add API to mark IRQs and kthreads as performance critical
drm/msm: Offload commit cleanup onto an unbound worker
workqueue: Affine unbound workqueues to little CPUs by default
msm: ipa: Do not acquire wakelocks
msm: vidc: Disable msm_vidc_fw_debug_mode
msm: kgsl: Mark IRQ as performance critical
drm: Mark IRQ as performance critical
msm: adreno: Set GPU timeout to 64 ms
ARM64: dts: sdmmagpie: Set GPU idle timeout to 64 ms
ARM64: dts: qcom: Delete CDSP sec memory region
arm64: dts: sdmmagpie: Avoid run-time IPIs from expedited grace periods
stable#1.02
Thanks to everyone involved in the following changes:
sched/core: Free dead mm structs asynchronously in finish_task_switch()
sched/core: Free dead tasks asynchronously in finish_task_switch()
kgsl: msm: Prevent userspace from changing the GPU idle timeout
scsi: ufs: use WQ_HIGHPRI for gating work
sched: fair: placement optimization for heavy load
sched: Improve the scheduler
sched: fair: Improve the scheduler
sched/fair: Add timeout for detach_tasks() in load balance
ARM64: sdmmagpie: switch to calculated capacities
kernel: sched: Checkout energy to Common kernel
schedutil: Tune the down rate limits for better battery life using PK's tuning script v9 values (thanks to pkgnex and also engstk for the tuning method)
stable#1.03
Thanks to everyone involved in the following changes:
ext4: optimize file overwrites
lib/lz4: explicitly support in-place decompression
mmap() backports for better performance
mm, truncate: do not check mapping for every page being truncated
zsmalloc: switch from alloc_vm_area to get_vm_area
mm/zsmalloc.c: rework the list_add code in insert_zspage()
mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING
mm/zsmalloc.c: fix duplicated words
mm/zswap: fix passing zero to 'PTR_ERR' warning
mm/zswap: make struct kernel_param_ops definitions const
arm64: Add missing dependency for ARM erratum 1188873 workaround
arm64: dts: sdmmagpie: Implement RHEL's Low Latency Kernel cmdline
arm64: dts: sdmmagpie: Set silver cluster qos-cores for msm_fastrpc
arm64: dts: sdmmagpie-sde: Configure PM-QoS IRQ latency
arm64: dts: sdmmagpie: remove pm qos latency overrides
arm64: dts: sdmmagpie: use 67us latency for cdsp
drm/msm/sde: Remove redundant write memory barriers from IRQ routines
drm/msm/sde: Consolidate IRQ status reads into IRQ dispatcher
drm/msm/sde: Don't read and clear VBIF errors upon commit
disp: msm: Use the PM_QOS_REQ_AFFINE_IRQ feature to control SDE PM QoS
disp: msm: sde: add dt based support for pm qos irq latency
disp: msm: sde: modify Qos vote for irq latency during idle cases
disp: msm: sde: add pm QoS vote on CPU receiving display IRQ
sde: rotator: Remove PM-QOS usage
sched/rt: Optimize checking group RT scheduler constraints
scsi: ufs: Add simple IRQ-affined PM QoS operations
scsi: ufs: Scrap Qualcomm's PM QoS implementation
stable#1.04
Thanks to everyone involved in the following changes, especially to @eng.stk:
Merge branch android-msm-sunfish-4.14-android11-qpr2 (May 2021.1)
Android: Implement Sony LowMemoryKiller TNG from 55.0.A.11.25
net/wireguard: merge v1.0.20210424
lib/lzo: implement run-length encoding (set as zRAM default's compression algorithm)
ext4: remove additional tracings added by CAF
mm: oom_kill: Reduce some verbose logging
bpf: Eliminate CONFIG_MODULES limitation from JIT for arm64
scripts/kallsyms: set relative_base more effectively
scripts/kallsyms: shrink table before sorting it
scripts/kallsyms: remove unneeded #ifndef ARRAY_SIZE
block: Disable preemption during IPI consideration
block: Track DISCARD statistics and output them in stat and diskstat
block: Add and use op_stat_group() for indexing disk_stat fields.
block: Define and use STAT_READ and STAT_WRITE
block: Add part_stat_read_accum to read across field entries.
block: make bdev_ops->rw_page() take a REQ_OP instead of bool
defconfig: further disable audit
kbuild: Don't try to add '-fcatch-undefined-behavior' flag
Makefile: add -fno-builtin-stpcpy
Revert "kernel: Add API to mark IRQs and kthreads as performance critical"
Revert "msm: kgsl: Mark IRQ as performance critical"
Revert "drm: Mark IRQ as performance critical"
stable#1.05
Thanks to everyone involved in the following changes, especially to kerneltoast:
include: linux: Set nr_requests and read-ahead values to 64 and 256 respectively
(thanks to pkgnex and HolyAngel)
cpufreq: Ensure the minimal frequency is lower than the maximal frequency
usb: gadget: f_mass_storage: Add Drivedroid Support
arm64: dts: msm: disable kpti on sdmmagpie
arm64: dts: sdmmagpie: Enable freq-energy-model
tcp: change pingpong threshold to 3
tcp: Refactor pingpong code
sched/fair: Compile out NUMA code entirely when NUMA is disabled
sched: Resolve sched_feat() at compile time to improve code optimization
sched: Add API to migrate the current process to a given cpumask
sched/idle: Micro-optimize the idle loop
sched/fair: Kill spam about max cpu_capacity
sched: core: silence no longer affine to cpu logspam
mm: Perform PID map reads on the little CPU cluster
scsi: ufs: Enable NO_FASTAUTO quirk for all vendor
BACKPORT: crypto: arm64/aes-modes - get rid of literal load of addend vector
crypto: arm64/aes-blk - add 4 way interleave to CBC-MAC encrypt path
crypto: arm64/aes-blk - add 4 way interleave to CBC encrypt path
crypto: arm64/aes-blk - remove configurable interleave
crypto: arm64/aes-blk - move kernel mode neon en/disable into loop
mm: compaction: avoid 100% CPU usage during compaction when a task is killed
BACKPORT: mm: process_reclaim: consider compound pages
Revert "sched: fair: placement optimization for heavy load"
Revert "qos: Execute notifier callbacks atomically"
Revert "drm/msm/sde: Wait for ctl_start asynchronously on cmd mode panels
Revert "disp: msm: Don't clear dim layers when there aren't any applied"
Revert "disp: msm: Use the PM_QOS_REQ_AFFINE_IRQ feature to control SDE PM QoS"
Revert "mmc: disable SPI CRC"
bpf: fix subprog verifier bypass by div/mod by 0 exception
bpf: fix net.core.bpf_jit_enable race
bpf, lpm: make longest_prefix_match() faster
msm: camera: utils: Demote unwanted logging to debug
msm: vidc: Silence video instance logging
- Commits reverted until the kernel version gets upstreamed:
Revert "block: Disable preemption during IPI consideration"
Revert "block: Track DISCARD statistics and output them in stat and diskstat"
Revert "block: Add and use op_stat_group() for indexing disk_stat fields."
Revert "block: Define and use STAT_READ and STAT_WRITE"
Revert "block: Add part_stat_read_accum to read across field entries."
Revert "block: make bdev_ops->rw_page() take a REQ_OP instead of bool"
stable#1.10
Thanks to everyone involved in the following changes:
qcacld-3.0: Free a bunch of pkts at once (to reduce CPU consumption)
qcacld: disable qcom_rx_wakelock (to reduce power consumption)
fs: Override default relatime mount flag for noatime (to improve FS performance)
Revert "usb: gadget: f_mass_storage: Add Drivedroid Support"
stable#1.11
Thanks to everyone involved in the following changes:
Revert changes from the recent updates that were causing possible stability issues
Cherry-pick last chipset patches from CAF
sched: fair: Modify capacity margins for sm7150ab.
Revert "ARM64: dts: magpie: Remove unused conflicting disp_rdump_memory region"
android: binder: add rate limit for possible excessive log
defconfig: Don't initialize early random pool
include: linux: Set nr_requests and read-ahead values back to default
(thanks to eng.stk for their tuning approach)
sched: fair: Cover more WALT balancing cases.
diag: disable DIAG_DEBUG
stable#1.50
Thanks to everyone involved in the following changes:
Full source rebase from scratch
sched: fair: Fix load balancing for big tasks
msm: ipa: Add an option to allow IPA wakelocks (disabled by default)
msm: ipa_v3: Do not acquire wakelocks
msm: ipa_v3: block ipa_ws wakelocks
blkdev: Set QUEUE_FLAG_NONROT
stable#1.65
Thanks to everyone involved in the following changes:
treewide: Merge tag 'android-11.0.0_r0.85' of
https://android.googlesource.com/kernel/msm (June 2021 security patch)
Merge fixes from CAF
Merge security fixes from GrapheneOS
wireguard: Update to version 1.0.20210606
Implement josenk's srandom driver (faster than random and urandom - https://github.com/josenk/srandom)
Implement zRAM deduplication with arter97's changes
mm: compaction: Add automatic compaction mechanism
techpack: audio: Merge last update
mbcache: Speed up cache entry creation
msm/sde/rotator: Remove unneeded PM QoS requests
drm/msm/sde: Remove unneeded PM QoS requests
msm: kgsl: Remove L2PC PM QoS feature
scsi: ufs: Add sultanxda's simple IRQ-affined PM QoS operations
scsi: ufs: Scrap Qualcomm's PM QoS implementation
qcacld-3.0: use power efficient workingqueue
qcacld-3.0: Nuke as much debug bloat as possible
qcacmn: Disable all of qdf_trace when WLAN_DEBUG is disabled
sched: fair: consider all running tasks in cpu for load balance
cpuidle: don't disable cpuidle when entering suspend
defconfig: Disable EDAC
Reserved #2
I'm honored that my project (& one of the greatest TV shows of all time) inspired you! Thanks for the shout out & for asking me before dropping the kernel! Best of luck with Sunfish
Hello everyone, new update!
Changelog
fsociety tribute alpha#1.01
Reverted some under the hood commits to prepare for future updates
Different cpuidle fixes and optimizations (thanks to @wrongway213)
Thanks to @eng.stk for these changes:
Merge branch android-msm-sunfish-4.14-android11-qpr2 (Apr 2021.1)
BACKPORT: GKI: hwtracing: Add a driver for disabling coresight clocks (backport from Pixel 5, less idle draw)
Revert "f2fs: Fix deadlock between f2fs_quota_sync and block_operation"
f2fs: shrink node_write lock coverage
Revert "kbuild: disable clang's default use of -fmerge-all-constants"
techpack: data: don't build emac-dwc-eqos
Remove some logspam in net/sched
Download & Links
ZIP download: https://sourceforge.net/projects/fs...el4a/fsociety-tribute-alpha#1.01.zip/download
Franco Kernel Manager custom json: https://raw.githubusercontent.com/fsociety-tribute/pixel4a/anderson/fkm/fkm.json
Telegram group: https://t.me/fsociety_tribute_p4a
This is running pretty smoothly!
Screen seems slicker thank you!
Based on bluespark kernel? imagine it doesn't have support for usb dacs right?
Chrisnetika said:
Based on bluespark kernel? imagine it doesn't have support for usb dacs right?
Click to expand...
Click to collapse
It has got major blu.spark's elements in it, yes. It also uses @eng.stk's excellent soucedrops from Google. The latest update from blu.spark and fsociety tribute has got a change related to your issue. You should try and let us know if the problem got fixed!
techpack: data: don't build emac-dwc-eqos
Click to expand...
Click to collapse
momojuro said:
It has got major blu.spark's elements in it, yes. It also uses @eng.stk's excellent soucedrops from Google. The latest update from blu.spark and fsociety tribute has got a change related to your issue. You should try and let us know if the problem got fixed!
Click to expand...
Click to collapse
I can give it a try tomm, just flashed the new release bluspark put out yesterday and my DAC unit seems to work with the changes he made.Just testing it for stability for now.Good to see more developers making kernels for this device.
Hello friend. Hello friend?
Can you build in wireless monitor mode and usb keyboard support for use with nethunter?
d33dvb said:
Hello friend. Hello friend?
Can you build in wireless monitor mode and usb keyboard support for use with nethunter?
Click to expand...
Click to collapse
Hello friend,
I will try to compile a version containing those specific changes when I have some free time and send you the zip file. However, they will not be incorporated to the main version. If you have a Linux powered computer/laptop, I will be glad to show you how I did it and how you could compile it yourself, so that you may add them for each new version.
Will I run into any issues if I try and flash this when I'm running the newest lineage build?
Hello everyone, new promising update!
Changelog
fsociety tribute alpha#1.02
A bunch of optimization commits used in Kirisakura included. Huge respect to @Freak07.
These changes mainly concern the GPU and the CPU architecture.
In addition to this, normal grace periods are now preferred to reduce power usage (Thanks a lot to @kdrag0n for his approach).
Finally, boeffla wakelock blocker doesn't block any wakelock by default for now, but you can add your own ones to the blocklist.
Download & Links
ZIP download: https://sourceforge.net/projects/fsociety-tribute/files/pixel4a/fsociety-tribute-alpha#1.02.zip/download
Franco Kernel Manager custom json: https://raw.githubusercontent.com/fsociety-tribute/pixel4a/anderson/fkm/fkm.json
Telegram group: https://t.me/fsociety_tribute_p4a
Selicular said:
Will I run into any issues if I try and flash this when I'm running the newest lineage build?
Click to expand...
Click to collapse
It should work fine! The kernel is still is its testing phase, so I would like to know if it does run with LineageOS. However, my priority is its usage on stock ROM.
momojuro said:
Hello friend,
I will try to compile a version containing those specific changes when I have some free time and send you the zip file. However, they will not be incorporated to the main version. If you have a Linux powered computer/laptop, I will be glad to show you how I did it and how you could compile it yourself, so that you may add them for each new version.
Click to expand...
Click to collapse
Thanks a bunch man I have tried and failed several times to get it working.
Great job!
As promised I tried it,so far it works ok.My USB DAC works fine and everything inc mqa,dsd play no issues.Noticed with 1.01 it was running bit warmer my device with normal use like surfing when it usually never did,however 1.02 seems fine? Possible it is nothing.
If I may ask,what is the changes/differences between this and bluespark? Looking at the description for both kernels they look about the same.OC is not enabled by default right?
Chrisnetika said:
As promised I tried it,so far it works ok.My USB DAC works fine and everything inc mqa,dsd play no issues.Noticed with 1.01 it was running bit warmer my device with normal use like surfing when it usually never did,however 1.02 seems fine? Possible it is nothing.
If I may ask,what is the changes/differences between this and bluespark? Looking at the description for both kernels they look about the same.OC is not enabled by default right?
Click to expand...
Click to collapse
I am glad it is working as it should be.
I would say that fsociety tribute is on its way to become more and more distinct.
It is true that it is based on @eng.stk's excellent initial building setup and his Google sourcedrops, as I was not knowledgeable enough to do it by myself (they have my gratitude). Some features to me were appealing, like its incorporation of KLAPSE and KCAL or its choice for Zen v2 as the default I/O scheduler. However, according to my own preferences, I did not pick up the USB Fast Charge and the FS fsync's tweaking support features for example or compile the kernel with the -O2 optimization flag.
The next build will use BBR v2 instead of Westwood as the default TCP congestion control.
I am still at the beginning of my journey to explore and learn what would be appealing to my vision for fsociety tribute, hence the alpha stage it is under right now. Feel free to choose whatever suits you!
Hello everyone, another update! It is temporarily uploaded on GIthub until Sourceforge stops being buggy.
Changelog
fsociety tribute alpha#1.03
BBR v2 set as the default TCP network congestion control instead of Westwood (thanks to @Freak07).
Thanks to @LazerL0rd for having these changes imported :
- Imported upstream Bluetooth fixes.
- fs: ext4: fsync: optimize double-fsync() a bunch.
- Initialize ata before graphics.
- Re-enabled BPF JIT compiler to improve gaming and overall system performance
(thanks to @Sultanxda).
- arm64: lib: memory utilities optimization.
Download & Links
ZIP download: https://github.com/fsociety-tribute...oad/alpha1.03/fsociety-tribute-alpha.1.03.zip
Franco Kernel Manager custom json: https://raw.githubusercontent.com/fsociety-tribute/pixel4a/anderson/fkm/fkm.json
Telegram group: https://t.me/fsociety_tribute_p4a
Hello everyone, last update before reaching the beta stage!
Changelog
fsociety tribute alpha#1.04
defconfig: Don't pre-create any loop devices (speeds up the booting process slightly, thanks to @kdrag0n)
defconfig: Disable UFS logging
sched: fair: Stop running idle_balance on active migration kick
cpufreq: Avoid leaving stale IRQ work items during CPU offline
Different CAF fixes and patches (thanks to @arter97 for providing the CAF repo mirror)
Revert "fs: ext4: fsync: optimize double-fsync() a bunch"
Revert "msm: kgsl: Increase worker thread priority"
Revert: "defconfig: Enable the BPF JIT compiler"
Download & Links
ZIP download: https://sourceforge.net/projects/fsociety-tribute/files/pixel4a/fsociety-tribute-alpha#1.0.4.zip/download
Franco Kernel Manager custom json: https://raw.githubusercontent.com/fsociety-tribute/pixel4a/anderson/fkm/fkm.json
Telegram group: https://t.me/fsociety_tribute_p4a