[KERNEL][3.4.109][10/03/15] UBER-L | LINARO & UBERTC 4.9.4 -O3 Graphite F2FS

Search This thread

Cl3Kener

Senior Member
Feb 4, 2013
71
7,001
Cleveland, OH
plus.google.com


Hey Everyone,

I'm by no means a pro at kernel building but I've put lots of effort into this kernel so I thought I'd share it with you. After a very long inner conflict period I've decided to post in the android development forum instead of the original android development. I've included features of my own as well as patches and other features of many other top notch kernel developers. I would prefer if you make your way over to my source (link below) and read the commits so you can get to know them and how they have contributed but alas I not that naive enough to think any of you really would actually go and do that so I've included a nice feature list in post 2 with proper credits (at least for the big stuff).

I am a huge fan of giving you options which is why I build my kernel with multiple toolchains and multiple sound options for you to test out and decide which option you find works best for you.

I also made a Release Folder that contains kernels that do not contain any CPU or GPU overclock to keep things more stable for you. This kernel is built with UBERTC 4.9.4 since I feel like that give the best battery. Choose this option for stability.

I frequently get asked if this kernel works with the many AOSP projects. The answer is YES! I haven't found an AOSP ROM yet that won't boot with this kernel. The only potential issue is that the ROM you flashed this kernel with has modified the ramdisk from stock or doesn't have a root containing sepolicy for Lollipop. Make sure to flash back to a stock ROOTED kernel and then flash UBER. My kernel uses you ramdisk while flashing for great ROM compatibility but sometimes this backfires.

Do not flash on CM or CM-based ROMs! This kernel is not currently compatible with those "CAF-based" ROMs.

WARNING!!! Even though I don't post anything unless it works (in this case on most if not all AOSP ROMs) I still don't want to be liable for user errors. In other words, if you flash one of these Kernels your warranty is void and I AM NOT RESPONSIBLE for any data loss or bricked devices etc.

For more info see this video



[AOSP 5.1 UBER KERNEL LINKS]




Mirror #1: https://s.basketbuild.com/devs/Cl3Kener/HAMMERHEAD/UBER-L/

Mirror #2: https://renderserver.net/browse?path=Cl3Kener/HAMMERHEAD/UBER-L

Mirror #3: uber.oceighty.co/HAMMERHEAD/UBER-L/


If you still want access to Kitkat Kernels Go to:: https://s.basketbuild.com/devs/Cl3Kener/HAMMERHEAD/UBER/


Comprehensive Changelog of Everything (Aka Source Code)

https://github.com/Cl3Kener/UBER-L/commits/master

Code:
[SIZE=4]
[B][SIZE="6"]UBER Changelogs[/SIZE][/B]

[B]10/03/15[/B]
- 3.4.109
- F2FS updates
- Backlight Dimmer from Kitkat Kernel Returns!
- KCAL updates
- Better BFQ/CFQ tunings

[B]09/18/15[/B]
- Enable BFQIO Cgroup
- Merge android-msm-hammerhead-3.4-lollipop-mr1.1 tag (no significant change)
- Remove UBERTC 4.8.5 Kernel and add UBERTC 5.2.1 Faux and Francosound versions
- Update Toolchains to 9/18/15 Snapshot

[B]09/11/15[/B]
- Returned SELinux Toggle to CFG (it was removed on accident)
- 8555f12 lz4: fix system halt at boot kernel on x86_64
- 264f011 Makefile: sort list of defconfig targets in make help output
- 7cc54ca kbuild: remove warning about "make depend"

[B]09/05/15[/B]
- Merge latest F2FS from upstream
- Kernel source bump to 3.4.108
- Update Toolchains to 9/5 (see github.com/UBERTC for details)
- Other misc bug fixes

[B]5/13/15[/B]
6cb9d79 f2fs: fix counting the number of inline_data inodes
f2f065b f2fs: don not re-lookup nat cache with same nid
189ca9c f2fs: remove unneeded f2fs_make_empty declaration
29b6fe9 f2fs: issue discard with finally produced len and minlen
611b6ee f2fs: introduce discard_map for f2fs_trim_fs
55efe4c f2fs: revmove spin_lock for write_orphan_inodes
30a0e33 f2fs: split find_data_page according to specific purposes
aa6141b f2fs: add need_dentry_mark
11a3834 f2fs: fix race on allocating and deallocating a dentry block
9f96171 f2fs: introduce dot and dotdot name check
e37bfdd f2fs: move get_page for gc victims
4dc9fb0 f2fs: add sbi and page pointer in f2fs_io_info
ccd6bae f2fs: add f2fs_may_inline_{data, dentry}
6779a11 f2fs: clean up f2fs_lookup
b60987f f2fs: introduce f2fs_commit_super
21087dc f2fs: add f2fs_map_blocks
36ec73a f2fs: add feature facility in superblock
a907c38 f2fs: move existing definitions into f2fs.h
06efb1d f2fs: add missing version info in superblock
39ee8dd f2fs: fix not to check IS_ERR for null pointer
aa9f5f4 f2fs: make has_fsynced_inode static
8ef6ea8 f2fs: add offset check routine before punch_hole() in f2fs_fallocate()
5cc5ac1 f2fs: use is_valid_blkaddr to verify blkaddr for readability
b5731af f2fs: fix wrong error hanlder in f2fs_follow_link
41a82f9 Revert "f2fs: enhance multi-threads performance"
74e1c0f Defconfig: Use XZ Compression
3296fd2 Defconfig: Use regular gzip compression
9c0a666 ipv4: Missing sk_nulls_node_init() in ping_unhash().
4213a5d SELinux: ss: Fix policy write for ioctl operations
a317da7 seccomp: Replace BUG(!spin_is_locked()) with assert_spin_lock
73d6b2c nf: IDLETIMER: Adds the uid field in the msg
b0064e6 ARM: add documentation for finding start of physical memory
4609cfd ARM: 8294/1: ATAG_DTB_COMPAT: remove the DT workspace's hardcoded 64KB size
40a96c1 ARM: 8191/1: decompressor: ensure I-side picks up relocated code
f53b231 ARM: compressed/head.S: remove s3c24xx special case
950e423 hashtable: introduce a small and naive hashtable
bd0707b lib/lz4: Pull out constant tables
666f751 SELinux: use deletion-safe iterator to free list
057b63c SELinux: per-command whitelisting of ioctls
e979523 security: lsm_audit: add ioctl specific auditing
b813589 SELinux: Update policy version to support constraints info
d464f89 SELinux: add default_type statements
6be5d3b SELinux: allow default source/target selectors for user/role/range
9529eb0 selinux: add SOCK_DIAG_BY_FAMILY to the list of netlink message types
efff44c selinux/nlmsg: add XFRM_MSG_MAPPING
d1d6e3b selinux/nlmsg: add XFRM_MSG_MIGRATE
1c24c4a selinux/nlmsg: add XFRM_MSG_REPORT
19bf436 selinux/nlmsg: add XFRM_MSG_[NEW|GET]SADINFO
bb0858e selinux/nlmsg: add XFRM_MSG_GETSPDINFO
cfe7f96 selinux/nlmsg: add XFRM_MSG_NEWSPDINFO
27c0a2f pstore: selinux: add security in-core xattr support for pstore and debugfs
7380a43 f2fs:sync with upstream branch
b0afd9f VFS: Make more complete truncate operation available to CacheFiles

[B]4/24/15[/B]
129daf9 Revert "usb-storage/SCSI: blacklist FUA on JMicron 152d:2566 USB-SATA controller"
41003d9 Linux 3.4.107
5af9f19 PCI: Handle read-only BARs on AMD CS553x devices
b167462 lib/checksum.c: fix build for generic csum_tcpudp_nofold
0f3307a mm: fix anon_vma->degree underflow in anon_vma endless growing prevention
419bc8f net: compat: Update get_compat_msghdr() to match copy_msghdr_from_user() behaviour
e370ccd nilfs2: fix deadlock of segment constructor during recovery
26c0d38 spi: dw: revisit FIFO size detection again
79940b6 ntp: Fixup adjtimex freq validation on 32-bit systems
6a5e559 s390/3215: fix tty output containing tabs
84630a5 x86, cpu, amd: Add workaround for family 16h, erratum 793
fc431d8 fsnotify: next_i is freed during fsnotify_unmount_inodes.
c7d8a3b net:socket: set msg_namelen to 0 if msg_name is passed as NULL in msghdr struct from userland.
7fbd1ca sched/rt: Reduce rq lock contention by eliminating locking of non-feasible target
cf11b56 Bluetooth: ath3k: workaround the compatibility issue with xHCI controller
53b3052 staging: comedi: cb_pcidas64: fix incorrect AI range code handling
99ce0af ipvs: rerouting to local clients is not needed anymore
294b66d jfs: fix readdir regression
dd3ef12 pagemap: do not leak physical addresses to non-privileged userspace
418605d Drivers: hv: vmbus: incorrect device name is printed when child device is unregistered
1f833bc nilfs2: fix deadlock of segment constructor over I_SYNC flag
bad8e6c ASoC: sgtl5000: add delay before first I2C access
d481c9e net: sctp: fix passing wrong parameter header to param_type2af in sctp_process_param
faca147 net: sctp: fix NULL pointer dereference in af->from_addr_param on malformed packet
27fb1ba gpio: sysfs: fix memory leak in gpiod_sysfs_set_active_low
407e221 gpio: sysfs: fix memory leak in gpiod_export_link
b9c0ed3a MIPS: Fix kernel lockup or crash after CPU offline/online
383e2c7 caif: remove wrong dev_net_set() call
0a533c8 lib/checksum.c: fix carry in csum_tcpudp_nofold
a096ac4 ALSA: ak411x: Fix stall in work callback
2c43d74 ASoC: atmel_ssc_dai: fix start event for I2S mode
93625b6 MIPS: IRQ: Fix disable_irq on CPU IRQs
b8efe516 x86, mm/ASLR: Fix stack randomization on 64-bit systems
666b625 net: sctp: fix skb_over_panic when receiving malformed ASCONF chunks
af58a41f net: sctp: fix panic on duplicate ASCONF chunks
61294cb vm: make stack guard page errors return VM_FAULT_SIGSEGV rather than SIGBUS
dd37b66 vm: add VM_FAULT_SIGSEGV handling support
31eae22 ipv6: replacing a rt6_info needs to purge possible propagated rt6_infos too
afd1787 net: sctp: fix slab corruption from use after free on INIT collisions
7e346ae ALSA: seq-dummy: remove deadlock-causing events on close
1cc70a9 drm/i915: Only fence tiled region of object.
dbabba0 USB: Add OTG PET device to TPL
32a4cb1 usb-core bInterval quirk
c3dbb4a usb-storage/SCSI: blacklist FUA on JMicron 152d:2566 USB-SATA controller
3e2ff0a nl80211: fix per-station group key get/del and memory leak
9048158 powerpc/xmon: Fix another endiannes issue in RTAS call from xmon
284dbe8 regulator: core: fix race condition in regulator_put()
73b7a4a ASoC: wm8960: Fix capture sample rate from 11250 to 11025
7477cfd spi: dw-mid: fix FIFO size
625dac0 spi: dw: Fix detecting FIFO depth
09089c8 x86, hyperv: Mark the Hyper-V clocksource as being continuous
884c3b1 libata: prevent HSM state change race between ISR and PIO
c5e388a scripts/recordmcount.pl: There is no -m32 gcc option on Super-H anymore
5804da9 libata: allow sata_sil24 to opt-out of tag ordered submission
208d3e5 ALSA: usb-audio: Add mic volume fix quirk for Logitech Webcam C210
33033f8 gpio: sysfs: fix gpio attribute-creation race
cc46bd9 gpio: sysfs: fix gpio device-attribute leak
01ae018 gpiolib: Refactor gpio_export
66f9bf0 gpio: sysfs: fix gpio-chip device-attribute leak
391bbd9 driver core: Introduce device_create_groups
b295f4b sysfs.h: add ATTRIBUTE_GROUPS() macro
d350632 can: dev: fix crtlmode_supported check
685bcb9 ftrace/jprobes/x86: Fix conflict between jprobes and function graph tracing
4f338c7 gpio: fix memory and reference leaks in gpiochip_add error path
67fbd53 mm: fix corner case in anon_vma endless growing prevention
6255515 mm: Don't count the stack guard page towards RLIMIT_STACK
b7bd760 USB: console: fix potential use after free
5e3c147 OHCI: add a quirk for ULi M5237 blocking on reset
e5b68b3 HID: roccat: potential out of bounds in pyra_sysfs_write_settings()
b5f80db mm: protect set_page_dirty() from ongoing truncation
9e2a7ed mm: prevent endless growth of anon_vma hierarchy
cc4a897 mac80211: fix multicast LED blinking and counter
1b6398d Input: I8042 - add Acer Aspire 7738 to the nomux list
d4211e2 Input: i8042 - reset keyboard to fix Elantech touchpad detection
ab8f85c time: adjtimex: Validate the ADJ_FREQUENCY values
e9dbd12 time: settimeofday: Validate the values of tv from user
6973163 sata_dwc_460ex: fix resource leak on error path
c463826 mm: propagate error from stack expansion even for guard page
70946fb USB: cp210x: add IDs for CEL USB sticks and MeshWorks devices
c8eb987 virtio_pci: document why we defer kfree
7586079 virtio_pci: defer kfree until release callback
be42ade virtio: use dev_to_virtio wrapper in virtio
86f0a0b ALSA: hda - Fix wrong gpio_dir & gpio_mask hint setups for IDT/STAC codecs
436f6e5 x86, um: actually mark system call tables readonly
a1c9f2c USB: cp210x: fix ID for production CEL MeshConnect USB Stick
536d010 video/logo: prevent use of logos after they have been freed
4b2d8f9 net: Fix stacked vlan offload features computation
9f9e0eb crypto: af_alg - fix backlog handling
8714253 udf: Check component length before reading it
e8ccb36 x86_64, vdso: Fix the vdso address randomization algorithm
381e190 udf: Check path length when reading symlink
a1d9cdb udf: Verify symlink size before loading it
5e5b0ad udf: Verify i_size when loading inode
aa4a4d8 isofs: Fix unchecked printing of ER records
2beaf0f ocfs2: fix journal commit deadlock
47d92db ALSA: usb-audio: extend KEF X300A FU 10 tweak to Arcam rPAC
c0f882a iscsi-target: Fail connection on short sendmsg writes
5bf2cf1 isofs: Fix infinite looping over CE entries
b43f5a7 storvsc: ring buffer failures may result in I/O freeze
0171dc6 x86/tls: Don't validate lm in set_thread_area() after all
fe0e500 x86/tls: Disallow unusual TLS segments
ccbdf10 genirq: Prevent proc race against freeing of irq descriptors
070cfb0 x86_64, switch_to(): Load TLS descriptors before switching DS and ES
3b6254d ncpfs: return proper error from NCP_IOC_SETROOT ioctl
1f8e97d Btrfs: fix fs corruption on transaction abort if device supports discard
ee88360 KEYS: Fix stale key registration at error path
d33fb04 ALSA: usb-audio: Don't resubmit pending URBs at MIDI error recovery
218ba26 can: peak_usb: fix cleanup sequence order in case of error during init
583aecd can: peak_usb: fix memset() usage
fdfce29 drm/radeon: check the right ring in radeon_evict_flags()
f712352 hp_accel: Add support for HP ZBook 15
e03e5f4 drm/vmwgfx: Fix fence event code
313249d drm/vmwgfx: Don't use memory accounting for kernel-side fence objects
b78be84 iommu/vt-d: Fix an off-by-one bug in __domain_mapping()
59075a8 ath5k: fix hardware queue index assignment
ec453d0 ath9k: fix BE/BK queue order
1e4f9ee ath9k_hw: fix hardware queue allocation
b0003ef serial: samsung: wait for transfer completion before clock disable
f703d74 mfd: tc6393xb: Fail ohci suspend if full state restore is required
ff130a1 USB: cdc-acm: check for valid interfaces
1f9db86 cdc-acm: memory leak in error case
52f7ea1 megaraid_sas: corrected return of wait_event from abort frame path
3c1b66b ASoC: sigmadsp: Refuse to load firmware files with a non-supported version
566423d genhd: check for int overflow in disk_expand_part_tbl()
9a95a6f scsi: correct return values for .eh_abort_handler implementations
e97273c PCI: Restore detection of read-only BARs
2c41cbd drbd: merge_bvec_fn: properly remap bvm->bi_bdev
482d22e driver core: Fix unbalanced device reference in drivers_probe
8ca5f89 UBI: Fix invalid vfree()
2f3b2e1 usb: renesas_usbhs: gadget: fix NULL pointer dereference in ep_disable()
7a2d438 writeback: fix a subtle race condition in I_DIRTY clearing
347ac8b writeback: Move I_DIRTY_PAGES handling
62f5128 eCryptfs: Force RO mount when encrypted view is enabled
bba4bdb i2c: davinci: generate STP always when NACK is received
1b231ad ahci: disable MSI on SAMSUNG 0xa800 SSD
2575c22 ahci: disable MSI instead of NCQ on Samsung pci-e SSDs on macbooks
9219bb3 ahci: disable NCQ on Samsung pci-e SSDs on macbooks
badcbca mm: fix swapoff hang after page migration and fork
81d169a drm/radeon: kernel panic in drm_calc_vbltimestamp_from_scanoutpos with 3.18.0-rc6
90f3dfb sata_fsl: fix error handling of irq_of_parse_and_map
f1c27d0 AHCI: Add DeviceIDs for Sunrise Point-LP SATA controller
e8fb016 drm/i915: Unlock panel even when LVDS is disabled
f67a7bb powerpc/pseries: Fix endiannes issue in RTAS call from xmon
0f0a13e Input: xpad - use proper endpoint type
9ac30f5 usb-quirks: Add reset-resume quirk for MS Wireless Laser Mouse 6000
77ff742 MIPS: Loongson: Make platform serial setup always built-in.
b17289a ALSA: hda - Limit 40bit DMA for AMD HDMI controllers
2568455 usb: xhci: rework root port wake bits if controller isn't allowed to wakeup
1b7b64f USB: xhci: Reset a halted endpoint immediately when we encounter a stall.
52647cb USB: xhci: don't start a halted endpoint before its new dequeue is set
b4205de ARM: 8216/1: xscale: correct auxiliary register in suspend/resume
71a57fa bnx2fc: do not add shared skbs to the fcoe_rx_list
f29bef1 nfsd: Fix slot wake up race in the nfsv4.1 callback code
bc8a39f SUNRPC: Fix locking around callback channel reply receive
496ed1e USB: ssu100: fix overrun-error reporting
454e251 USB: keyspan: fix overrun-error reporting
b80b73b USB: keyspan: fix tty line-status reporting
6327481 usb: serial: ftdi_sio: add PIDs for Matrix Orbital products
54e74b3 iio: Fix IIO_EVENT_CODE_EXTRACT_DIR bit mask
7170965 USB: serial: cp210x: add IDs for CEL MeshConnect USB Stick
cd571b4 spi: dw: Fix dynamic speed change.
a50a1ca f2fs: flush symlink path to avoid broken symlink after POR
4b73e2d f2fs: avoid abnormal behavior on broken symlink
edfd750 f2fs: change 0 to false for bool type
78760c3 Support GCC 6.0
317bb9d LZ4 : fix the data abort issue
be937e1 crypto: sha512 - Expose generic sha512 routine to be callable from other modules
077393f crypto: add crypto_[un]register_shashes for [un]registering multiple shash entries at once
db7f9b3 ARM: add support for kernel mode NEON
fe0a05a ARM: 7837/3: fix Thumb-2 bug in AES assembler code
99c2444 ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible
d060373 ARM: add .gitignore entry for sha256-core.S
2511498 arm: crypto: Add optimized SHA-256/224
7f6ad8f crypto: arm/aes update NEON AES module to latest OpenSSL version
bfeb2f7 vfs: make it possible to access the dentry hash/len as one 64-bit entry
ca8a95e vfs: move dentry name length comparison from dentry_cmp() into callers
a0848829 vfs: do the careful dentry name access for all dentry_cmp cases
2387abd vfs: remove unnecessary d_unhashed() check from __d_lookup_rcu
587ae11 vfs: clean up __d_lookup_rcu() and dentry_cmp() interfaces
700622d f2fs: avoid punch_hole overhead when releasing volatile data
b97d018 f2fs: do not recover wrong data index
1444e0f f2fs: do not increase link count during recovery
94a1fbe f2fs: assign parent's i_mode for empty dir
34bce52 f2fs: add F2FS_INLINE_DOTS to recover missing dot dentries

[B]4/04/15[/B]
eb3042e f2fs: fix mismatching lock and unlock pages for roll-forward recovery
63803ca f2fs: limit b_size of mapped bh in f2fs_map_bh
aa01503 msm: mdss: KCAL: Update Kconfig description
d220216 Revert "msm: mdss: KCAL: Check panel power state before applying values"
2ca0f0e crypto: msm: Update clock vote for improved performance
3c0c2ca msm: mdss: KCAL: Update according to linux guidelines and checkpatch.pl
03049a3 msm: mdss: KCAL: Check panel power state before applying values
2c6b7f2 soc: qcom: smd: Fix SMD packet sync loss issue
ed728c1 vfs: read file_handle only once in handle_to_path
2ac20db mm: Fix NULL pointer dereference in madvise(MADV_WILLNEED) support
f86c2e1 f2fs: persist system.advise into on-disk inode
4ebe176 f2fs: avoid NULL pointer dereference in f2fs_xattr_advise_get
eae07f7 f2fs: preallocate fallocated blocks for direct IO
54b3e53 f2fs: enable inline data by default
3778d5c f2fs: preserve extent info for extent cache
9eae818 f2fs: initialize extent tree with on-disk extent info of inode
270d9bf f2fs: introduce __{find,grab}_extent_tree
4d1d685 f2fs: split set_data_blkaddr from f2fs_update_extent_cache
e593abe f2fs: enable fast symlink by utilizing inline data
f545fdf f2fs: add some tracepoints to debug volatile and atomic writes
bab1b76 f2fs: set SBI_NEED_FSCK when encountering exception in recovery
77a1d2e f2fs: avoid wrong f2fs_bug_on when truncating inline_data
e131be1 f2fs: enhance multi-threads performance
3f434ce f2fs: set buffer_new when new blocks are allocated
dc04eca f2fs: fix to cover sentry_lock for block allocation
e6f5b86 f2fs: fix to check current blkaddr in __allocate_data_blocks
b341170 f2fs: fix to truncate inline data past EOF
0f7c2b2 f2fs: fix to calculate max length of contiguous free slots correctly
8b45aaf f2fs: fix unlocked nat set cache operation
2d99836 f2fs: cleanup statement about max orphan inodes calc
276e1f8 f2fs: remove unnecessary condition judgment
fb7e065 f2fs: set the correct place of initializing *res_page
e00264c f2fs: reduce searching region of segmap when set free section
7496d83 f2fs: fix extent cache memory leak
fc94db1 f2fs: relocate Kconfig from misc filesystems
798a549 f2fs: Update for AIO_OPTIMIZATION
0862871 F2FS: Small Fixup
9da735d xfs: introduce a generic shutdown ioctl
0fef042 Update F2FS to Latest
5d05017 Revert "FS: import F2FS"
c7823f7 Revert "Update F2FS"
fbe2f98 Revert "f2fs: fix wrong statistics of inline data"
b894aa8 Revert "F2FS: Update Inode Compatibility"
011f5f3 Revert "f2fs: Fix Compile"
675bc72 ARM: 8160/1: drop warning about return_address not using unwind tables
6a61897 ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
937edd7 gpu:msm: Fix 5.0 compile
7f8067a msm: mdss: Keep KCAL within its own source file [Squashed]
99b7d5b Revert KCAL bits in prepration for update

[B]3/20/15[/B]
- Merge 5.1 Kernel Sources

[B]3/06/15[/B]
18c1482 mmc: Do not build tests
564473b diag: Make fixes to diag_switch_logging
a4a108b Readahead: Optimize divide/multiply by power of 2 using L/R shift
ab96dc0 eCryptfs: Remove buggy and unnecessary write in file name decode routine
5c1fc3f mmc: core: Silence log spam

[B]2/28/15[/B]
- Merged latest Color Drivers for N5 (neobuddy)
- Changed Toolchains from SaberMod (Now partially closed source so that you cannot build for yourself anymore) to an AOSP-based open source toolchain called UBERTC. Many patches from Linaro have been included in source and also some GCC build fix patches from SaberMod to allow for the latest toolchain components.  All sources are GPL and can be found [URL="https://github.com/UBERTC/"]https://github.com/UBERTC/[/URL]. New toolchains have less of a tendency to lag in scrolling and other screen transitions in comparison to SaberMod and I think are better suited for UBER.  

[B]01/31/15[/B]
- Merged 3.4.106
- Bugfix: Small Potential Memory Leak

[B]01/31/15[/B]
dcd2770 memory hotplug: reset pgdat->kswapd to NULL if creating kernel thread fails
4028fbb memcg: further prevent OOM with too many dirty pages
86aa61a memcg: prevent OOM with too many dirty pages
04848e5 kernel: cgroup: push rcu read locking from css_is_ancestor() to callsite
fed88ee mm: vmscan: remove reclaim_mode_t
28907d4 mm: vmscan: do not stall on writeback during memory compaction
fdc5efe mm: vmscan: remove lumpy reclaim
ecb6e1a mm: remove swap token code
3786e5f sched: Fix reference to stale task_struct in try_to_wake_up()
6ced785 KEYS: close race between key lookup and freeing
3604d7d ARM: pull in <asm/simd.h> from asm-generic
c48e1eb msm: watchdog_v2: Print IRQ during bark
4e46170 ASoC: msm: qdsp6v2: Silence some noise
5466e82 net: wireless: bcmdhd: Silence some unnessecary noise
c726ad0 netfilter: x_tables: Silence some debug info
bd23093 Defconfig: Remove lots of Debugging
5cfb502 Makefile: Make more consistent
ba54a8f Makefile: -O3 instead
1cc151d Makefile: Disable annoying warnings
c8fe6d2 Makefile:  Rethink flags and ordering
d5d8089 Makefile: Add -floop-nest-optimize everywhere
d55d009 block: Tune SIO and remove dead code/white spaces
f11eac5 Makefile: Try floop-nest-optimize
 [/SIZE]

If you are unsatisfied with UBER you can uninstall it. Here is the link to the uninstaller http://d-h.st/y1k


Features
Code:
* Based upon Google's msm 3.4.y source for Hammerhead
* Updated to 3.4.109 from Kernel.org
* MultiROM Compatible (has Kexec patch)
*  Compatible with Stock as well as AOSP projects (CAF-based do not work  sorry CM fans, CAF-kernel is just not as stable and battery friendly  imao so I'll stay AOSP for now). If it doesn't work on a ROM let me  know!!!
* CPU Governors added: Intellidemand, Intelliactive,  Adaptive, Lionheart, AbyssplugV2, Ondemandplus, Badass, Wheatley, Hyper,  Lazy, PegasusQ, Nightmare, DanceDance, Darkness, Slim, Intellimm, Optimax. and Uberdemand
* GPU Governors: Performance, Ondemand, and Interactive (Franco)
* IO Schedulers: Noop, Deadline, VR, SIO, ROW, CFQ, BFQ, FIOPS, FIFO, ZEN and Tripndroid
* Compiled with Custom Linaro ARM EABI 4.9.3 toolchains (Cl3Kener) (see https://github.com/UBERTC/)
* Compiled with Custom Linaro GNUEABI 4.9.3 (Christopher83)
* Compiled with Custom UBERTC 4.9.3/5.2.1 (Cl3Kener) (see https://github.com/UBERTC/)
* -Ofast optimized with neon and graphite enhancements (Cl3Kener)
* Linaro compiler flags for greater optimization build wide (Cl3Kener)
* Snapdragon & CortexA15 optimizations (Tons of Contributors)
* Non-Stock Hotplug and Thermal regulator (from showp1984)
* Touch Boost - Showp1984 (comes with hotplug)
* GPU OverClock up to 650 MHz (27 MHz is still default idle with lowest frequency being underclocked to 100 MHz) (Cl3Kener)
* Allow CPU OverClock up to 3.0 Ghz (Cl3Kener)
* Allow CPU UnderClock to 96Mhz (showp1984 implementation)
* L2 Cache OverClock (flar2)
* Ramdisk Edits on the fly for greater compatibility. (Strongly based on Showp1984 implement)
* Undervolting Control (Franco)
* LZ4 support implemented kernel wide - fastest compression/decompression  available (Cl3Kener)
* Google Snappy Compression/Decompression support (just in case you want it)
* XZ Compression to latest 3.17.y (Cl3Kener)
* KSM (Kernel Samepage Merging)
* Faux Sound (Faux123)
* Franco Sound (Franco)
* Sweep2Wake, Sweep2Sleep, Double Tap 2 Wake (Showp1984 with Faux123 verticle s2w support and flar2 dt2w enhancements)
* Powerkey suspend for S2W/DT2W (Flar2 version)
* Wake timeout for S2W/DT2W/ (Flar2)
* Dynamic and Asynchronous Fsync (Faux123)
* USB Fast Charge with many voltage options (Faux123)
* Gamma Control (Various Contributers)
* Color Control (savoca)
* Fstrim (reduces lag see more: http://man7.org/linux/man-pages/man8/fstrim.8.html)
* ExFat Support (you'll need to load it via this init.d  https://www.dropbox.com/s/tfm8k9vmskuhs4v/loadexfat) Updated to latest  version (Neobuddy)
* Low Memory Killer - Many patches from Neobuddy
* Zram support upstreamed to 3.17.y branch (Cl3Kener)
* Zram supports lz4 compression now (kernel.org)
* Zcache, and Cleancache support updated to 3.14.y (Cl3Kener)
*  BLX - Battery Life Extender (See here http://forum.xda-developers.com/nexus-s/development/mod-battery-life-extender-blx-t1257497) Ported by Ayysir  to msm8974 devices
* F2FS file system support from Samsung
* Mount internal storage as CDROM (Frozen Cow)
* Advanced TCP Congestion Options (Veno as default, all 12 from http://kernel.org)
* Stereo Call Recording Support
* Uber.cfg for tuning kernel thanks to @janres155 & @Williamsss
* Many patches to improve various parts of the kernel (see source)
*  Full Source including defconfig is available for you use/learn from.  (Not a feature but I feel it is important that my source is complete so  you can build directly from it if you want to learn and experiment)

JOIN MY DEVELOPMENT COMMUNITY ON GOOGLE PLUS (CLICK LINK) Come join for more fun! I've got some tutorials, ROMs, and other things I share with community members and well.

Installation Instructions


1. For best results a install these kernel after a fresh ROM install (although it still should work if you don't do that)
2. Reboot into recovery (TWRP 2.8+ or compatible recovery)
3. Flash Kernel Zip
4. Reboot and let Settle for ~10 minutes (optional but recommended)
5. Navigate to system/etc/uber_v1.3.cfg using your favorite root file browser and change values based on descriptions to whatever you want.
6. Enjoy!!! :)
Note: In Android Lollipop while Superuser kinks are still being worked out you may need to reflash root after you flash kernel.

CREDITS & SPECIAL THANKS TO:

Dennis Rassmann - for all of his kernel work. I'm in love with all of his features and you'll find them all in my kernel.
Ayysir - for his wonderful tutorial on making a bash script to build kernels.
Other great kernel devs Francisco Franco, Faux123, Flar2, Neobuddy89, FrozenCow, Christopher83, Savoca, Hellsgod and any other mentioned in the above feature list or changelog - I cherry-pick work of all of the kernel greats!
Google - for kernel base and Android Open Source Project!
Linaro - for some really great toolchain patches!
Code Aurora Forum (CAF) - for some really great kernel patches!
Gnu.org - for always improving the C Compiler for better made code!!!
SaberMod - for making patches to fix any errors in GCC code!
LG - for manufacturing this awesome phone!



UBER Kernel sources can be found at https://github.com/Cl3Kener/UBER-L
Toolchain Sources can be found at https://github.com/UBERTC/
Config Sources can be found at https://github.com/wSedlacek/cfg



Informational Links
Comprehensive Guide to Android Development
Here is a fantastic guide on "Innards" of Kernels
Building a Bash Script to make Kernels



XDA:DevDB Information
[KERNEL][3.4.109][10/03/15] UBER-L | LINARO & UBERTC 4.9.4 -O3 Graphite F2FS, Kernel for the Google Nexus 5

Contributors
Cl3Kener
Source Code: https://github.com/Cl3Kener/UBER-L

Kernel Special Features:

Version Information
Status: Stable

Created 2014-01-27
Last Updated 2015-12-01
 
Last edited:

Cl3Kener

Senior Member
Feb 4, 2013
71
7,001
Cleveland, OH
plus.google.com
Solutions/Ideas to the Most Common Issues​


I cannot seem to flash UBER Kernel why is that? Some ROMs come with these build.prop lines which are unacceptable to TWRP but work fine as far as the ROM goes. You will have to remove these lines from the build.prop for it to flash.
dalvik.vm.dex2oat-flags "--compiler-filter=interpret-only"
dalvik.vm.image-dex2oat-flags ""​
After you have installed the kernel you can re-add these lines to your build.prop. If you don't have these lines in your build.prop it is most likely a bad download.

I have RRs with this kernel but not with others, why is that?
I have undervolted some other kernel features besides the cpu that you cannot change to save you battery. On some N5s (since not all are created equal) you may actually have to increase voltages on cpu or else you keep getting RRs. Try +25 across CPUs and see if that fixes your RRs. If not keep going down the list.

Having issues with Undervolting?
The chief complaint about this kernel is that "I can't uV as much as I can with other kernels." I have undervolted other kernel features (ie cpu regulators) that you cannot change to save you battery. This makes it hard for you to uV the cpu voltages as far but rest assure you'll still be getting better battery for it. Also, be aware that undervolting is a little dangerous in this kernel because of the potential of data loss when dynamic fsync is enabled. If you do decide to undervolt make a backup first so when your phone crashes you can restore. Also be aware that most of the logs ending in wdog_reset are caused by too much uV so before you post a log that ends in wdog_reset please stop undervolting first to see if the RRs persist. Below -25 uV seems to be the point where most users experience issues. Also keep in mind that voltage is important in benchmarking. Many people are benchmarking at incorrect voltages for their devices. I have to add +25 mV to all values so that it doesn't RR during benchmark. Each phone is a little different so some of you may be fine as is and some of you may need to go +50 mV or even potentially more. You'll have to experiment to see where your phone's "sweet spot" is. I again recommend also disabling Dynamic Fsync until you have figured out where that sweet spot is to prevent data loss.

Why am I having issues with ROMs on MultiROM?
From my experiences, Custom Kernels and MultiROM have always not played well together. Flashing a custom kernel on Internal ROM has never been an issue you try and flash a custom kernel on ROMs 2-whatever you have weird permission issues which can cause all sorts of problems for you (apps crashing, RRs, loss of root, etc). This is probably why the kernel sharing feature was added which is good but has it's own set of problems when using UBER. (See post directly below) To reiterate, this is not a bug in UBER or MultiROM just a slight incompatibility between the two we have to overcome by hand.

UBER works fine on Internal ROM but has issues on ROMs 2 and beyond when using MultiROM and sharing UBER why is this?
UBER is not specifically geared for use in MultiROM, not because I don't like multiROM but simply because of Uber's nature. UBER uses showp1984's custom msm_mpdecision and thermal which conflict with proprietary mpdecision and thermal regulators and cause RRs if these files are present. During normal kernel flash these files are renamed and don't conflict with UBER. When you share this kernel during ROMs 2 and beyond can still be used safely if you know what you're doing. In order to allow ROMs 2, 3, and beyond to share the kernel you must delete N5 proprietary files found at system/bin/mpdecision and system/bin/thermal-engine-hh when running those ROMs. It is a fairly easy process, just install a Root File Browser, locate then, and delete. :) Normally in kernel flashing process I rename those files to mpdecision_bck and thermanl-engine-hh_bck for you so you never have to see or worry about them. If you use Sharing Feature on MultiROM you'll have to deal with these yourself. I apologize for this inconvenience but there is nothing I can do from my end. Flashing UBER on ROM 2 breaks it and sharing has problems until you remove these two files.

Why are certain apps crashing on me?
Most likely it is due to Frandom. I have implemented Frandom by default in this kernel and to my knowledge I'm the only developer that does that by default. Some apps or mods may not be frandom compatible. Most are 100% compatible but not all. If you notice programs stop opening or are having constant reboots try removing 00_frandom from the init.d folder and reboot. I think for stable releases which I plan on posting on XDA this weekend I will not have frandom implemented by default but in nightlies it will always be implemented. Also if you keep having random reboots this is something to try as well.

Not booting? Maybe you have Ramdisk Incompatibility. This kernel uses your ramdisk. Most of the time that works well. Sometimes it does not. Make sure to flash
http://goo.im/devs/Cl3Kener/HAMMERHEAD/KERNELS//STOCK-BOOT_IMAGE-4.4.3.zip and try again if it doesn't boot. If it still doesn't boot make sure to verify that it is not CAF. Some ROMs fail to mention they are CAF-based but they really are.

My phone crashed once during benchmarking or for no apparent reason and now keeps randomly rebooting.
My guess is you have Data Corruption. If you crash your phone out benchmarking or have a frandom related RR and you still keep getting RRs you might have data corruption. This usually happens when you have Dynamic Fsync enabled because Fsync is disabled when screen is on. When testing I crash my phone all of the time and apps and things get messed up. Having a backup is good but if you don't want to waste time backing up all of the time you can salvage things still. Here is what I do when I've crashed the phone and continue to get soft reboots: 1) I install SD Maid from the Google Play store. (I have pro version so I can clean more but free version should work well enough) 2) I use SD Maid to clean all of the app data. (don't worry it is smart enough to not loose your passwords so you won't have to resign into your apps) Then I download ROM Manager by Koush. I don't actually use ROM Manager I just think it has the best permissions fixing feature of any app I've tried (including recoveries). I select the option Fix Permissions toward the bottom of the free version. It then prompts a reboot and then I reboot and life is good again.

I have battery drain when nobody else does.... help!!! Install a wakelock detector and figure out what is keeping your CPU awake. If it's an app. Fix permissions, clear app data, reinstall app, disable app, etc. until is stops having issues.

Still have problems? Search my Google+ community in the questions category. If you don't find anything see below:


ERROR REPORTING

I am always open to hearing about your errors
although just telling me something went wrong without giving me details does me absolutely no good. So here are my expectations if you do want to complain about something not working:

1. Please list the ROM you are using,
2. The IO scheduler you were using
3. The CPU governor you were using
4. The CPU frequency range
5. What you have done to attempt to fix it.
6. If you were able to simulate it again using the same settings.
7. Anything else you think is applicable to the issue


I would also hope that you would consider trying some of the following things to fix your issue before you ever report it because most of these things will fix the problem without me even having to change a thing.

1) Fix file permissions using a program that does a thorough job. I recommend using the fix file permissions in ROM manager because it is the best I’ve seen. For the record, I don’t actually use ROM manager for anything other than fixing permissions. Please consider trying this first because it tends to fix most of the FC/RR/SOD errors you might have.
2) Make a backup and install a clean version of the ROM you are running and see if you are still experiencing those same errors. You may have corrupted files if you’ve been dirty flashing.
3) If that doesn’t solve it, redownload and reflash, maybe something got corrupted but it still managed to flash. This happens sometimes and I can cause you grief.
4) Pull a logcat. MAKE SURE TO DISABLE DYNAMIC FSYNC BEFORE LOGGING!!! LEAVING IT ENABLED WILL CORRUPT YOUR LOG!I know not everyone knows how to do this but you can learn if you check out this OP or if you aren't comfortable with using terminal commands to pull a log just install Bootlog Uptime and set it up to autocopy log on RR. Opening the program after crash will autocopy your log and you send it to me.


 
Last edited:

Cl3Kener

Senior Member
Feb 4, 2013
71
7,001
Cleveland, OH
plus.google.com
QUICK GUIDE TO TUNING YOUR KERNEL

Thanks to the uber.cfg you no longer need to tune manually because you have the following already in the kernel:

1. BOOT SETTINGS

1.1 KERNEL SWITCH
1.2 GRACE TIME
1.3 WAIT TIMERS
1.4 FILE SYSTEM TRIM

2. CPU SETTINGS
2.1 CPU SETTINGS SWITCH
2.2 CPU FREQUENCY SCALING
2.2.1 CPU FREQUENCY SCALING SWITCH
2.2.2 CPU MAX FREQUENCY
2.2.3 CPU MIN FREQUENCY
2.3 CPU GOVERNOR
2.3.1 CPU GOVERNOR SWITCH
2.3.2 CPU GOVERNORS
2.4 CPU MULTICORE POWER SAVING

3. CPU VOLTAGE SETTINGS

4. HOTPLUG SETTINGS

4.1 MPDECISION SWITCH
4.1.1 MPDECISION SCREEN-OFF MAX FREQUENCY
4.1.2 MPDECISION SCREEN-OFF SINGLE CORE
4.1.3 MPDECISION TOUCHBOOST
4.1.4 MPDECISION MIN CPUS
4.1.5 MPDECISION MAX CPUS
4.1.6 MPDECISION HOTPLUG CONTROL
4.1.7 MPDECISION UNPLUG CONTROL

5. I/O SETTINGS
5.1 I/O SCHEDULER
5.2 I/O READ SPEED
5.3 I/O READ SPEED FOR SD CARD

6. GPU SETTINGS
6.1 GPU SETTINGS SWITCH
6.2 GPU FREQUENCY SCALING
6.2.1 GPU MAX FREQUENCY
6.2.2 GPU MIN FREQUENCY
6.3 GPU GOVERNOR
6.3.1 GPU GOVERNORS
6.3.2 GPU UP THRESHOLD
6.3.3 GPU DOWN THRESHOLD

7. GAMMA SETTINGS
7.1 GAMMA PRESET
7.2 BACKLIGHT DIMMER
7.2.1 BACKLIGHT DIMMER SWITCH
7.2.2 MINIMUM BRIGHTNESS

8. SOUND SETTINGS
8.1 SOUND ENGINE
8.2 FRANCO SOUND SETTINGS
8.2.1 FRANCO MIC INPUT LEVEL
8.2.2 FRANCO CALL OUTPUT LEVEL
8.2.3 FRANCO SPEAKER OUTPUT LEVEL
8.2.4 FRANCO HEADPHONE OUTPUT LEVEL
8.3 FAUX SOUND SETTINGS
8.3.1 FAUX MIC INPUT LEVEL
8.3.2 FAUX MIC INPUT LEVEL FOR CAM
8.3.3 FAUX SPEAKER OUTPUT LEVEL
8.3.4 FAUX HEADPHONE OUTPUT LEVEL
8.3.5 FAUX POWER AMP LEVEL
8.3.6 FAUX LOCK

9. MEMORY SETTINGS
9.1 ZRAM SETTINGS
9.1.1 ZRAM SWITCH
9.1.2 ZRAM COMPRESSION
9.1.3 ZRAM DISK SIZE (MB)
9.2 VIRTUAL MACHINE SETTINGS
9.2.1 SWAPPINESS
9.2.2 DIRTY RATIO
9.2.3 DIRTY BACKGROUND RATIO
9.2.4 DROP CACHES
9.2.5 FS WRITEBACK DELAY MODE
9.3 KERNEL SAMEPAGE MERGING

10. WAKE SETTINGS
10.1 WAKE CONTROL SWITCH
10.2 DOUBLE TAP TO WAKE
10.3 SWEEP TO WAKE/SLEEP
10.4 POWERKEY SUSPEND
10.5 WAKE TIMEOUT

11. MISCELLANEOUS SETTINGS
11.1 TCP CONGESTION CONTROL
11.2 DYNAMIC FSYNC
11.3 POWER SUSPEND
11.4 VIBRATION INTENSITY
11.5 USB FAST CHARGE
11.5.1 FAST CHARGE SWITCH
11.5.2 FAST CHARGE LEVEL
11.6 BATTERY LIFE EXTENDER

12. MODULES
12.1 FRANDOM
12.2 EXFAT

I still left these commands for people that like to see them anyways:


Set Color Profiles
See here http://forum.xda-developers.com/showpost.php?p=52926016&postcount=866

Dynamic Fsync
To enable - echo 1 > /sys/kernel/dyn_fsync/Dyn_fsync_active
To disable - echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active


KSM (Kernel Samepage Merging)
To enable - echo "1" > /sys/kernel/mm/ksm/run
To disable - echo "0" > /sys/kernel/mm/ksm/run


USB Fast Charge
To enable - echo 1 > /sys/kernel/fast_charge/force_fast_charge
This makes USB to computer connections transfer current the same as the wall charger. (Classical version)
Faux123 added the a ability to change currents to 500 900 1200 1500 2000. Enable by doing this
To enable custom - echo 2 > /sys/kernel/fast_charge/force_fast_charge
Then
echo 1500 > /sys/kernel/fast_charge/fast_charge_level
change value 1500 to whatever you want (as long as it's one of those 5 values)
To disable - echo 0 > /sys/kernel/fast_charge/force_fast_charge


Set Default IO Scheduler
IO Acceptable values are bfq, cfq, deadline, fifo, fiops, noop, row, sio, vr, zen
echo "bfq" > /sys/block/mmcblk0/queue/scheduler


Set Default CPU Governor

Acceptablevalues are adaptive, badass, intelliactive, dancedance, wheatley, abyssplugv2, ondemandplus, intellidemand, interactive, conservative, userspace, powersave, lionheart, ondemand, performance and others mentioned in kernel features above.
echo "1" > /sys/devices/system/cpu/cpu0/online;
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor;
echo "1" > /sys/devices/system/cpu/cpu1/online;
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor;
echo "1" > /sys/devices/system/cpu/cpu2/online;
echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor;
echo "1" > /sys/devices/system/cpu/cpu3/online;
echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor;


Backlight Dimmer

N is disabled, Y is enabled.
echo "N" > /sys/module/lm3630_bl/parameters/backlight_dimmer


Touch Boost

Toggle 0 is disabled 1 is enabled.
echo "0" > /sys/kernel/msm_mpdecision/conf/boost_enabled


Double Tap To Wake
There are three options here:
0 is disabled
1 is normal dt2w (bottom half of screen)
2 is full screen dt2w
echo "0" > /sys/android_touch/doubletap2wake


Sweep2Wake/Sweep2Sleep
This one is tricky because there are two files to change. If you want both only run
echo "1" > /sys/android_touch/sweep2wake
If you only want sweep2sleep you'll have to run this as well.
echo "1" > /sys/android_touch/s2w_s2sonly
To disabled run both run these commands but with 0s instead.


GPU Governor Toggle

Acceptable values are "performance" "simple" or "ondemand". Ondemand is default so I placed simple here. Performance will freeze system is placed at full OC (at lest for me so be careful!)
echo "ondemand" > /sys/class/kgsl/kgsl-3d0/pwrscale/trustzone/governor

Frequency options (Use values on the left for init.d script)
533333000-> 533 Mhz
487500000-> 487 Mhz
450000000-> 450 Mhz
389000000-> 389 Mhz
320000000-> 320 Mhz
200000000-> 200 Mhz
150000000-> 150 Mhz

Set Max GPU:
echo "320000000" > /sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0/max_gpuclk

Set Min GPU:
echo "150000000" > /sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0/min_pwrlevel


Pwrkeysuspend (disables s2w, dt2w)

# 0 = disabled, 1 = enabled
echo "1" > /sys/module/qpnp_power_on/parameters/pwrkey_suspend


Wake Timeout of S2W/DT2W
Note: # is in minutes (not seconds)
echo "#" > /sys/android_touch/wake_timeout


Load ExFat Module

insmod /system/lib/modules/exfat.ko


SET DEFAULT BOTTOM CLOCK SPEEDS
(If you want to set max change crom scaling_min_freq to scaling_max_freq on bottom four) Acceptable values any of the clock speeds.
echo "96000" > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq
echo "96000" > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq
echo "96000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo "96000" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo "96000" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
echo "96000" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq


Vibrator Level

Stock Value is 63. Range of acceptable values is 0-100
echo "63" > /sys/class/timed_output/vibrator/amp


Dirty Ratios
# dirty_background_ratio default is 10 (background meaning screen is off usually)
echo "20" > /proc/sys/vm/dirty_background_ratio
# dirty_ratio default is 20.
echo "40" > /proc/sys/vm/dirty_ratio


Set MPDecision Values

Note: Only change these values after you've played with them in your favorite kernel tuning app. I recommend figuring out your settings then finding these files with a root browser then you can fill these init.d lines in with your root browser of choice.

echo "1" > /sys/kernel/msm_mpdecision/conf/enabled
echo "0" > /sys/kernel/msm_mpdecision/conf/boost_enabled
echo "300000" > /sys/kernel/msm_mpdecision/conf/idle_freq
echo "4" > /sys/kernel/msm_mpdecision/conf/max_cpus
echo "1" > /sys/kernel/msm_mpdecision/conf/min_cpus
echo "12" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_0
echo "0" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_1
echo "25" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_2
echo "7" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_3
echo "30" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_4
echo "10" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_5
echo "0" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_6
echo "18" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_7
echo "1" > /sys/kernel/msm_mpdecision/conf/scroff_single_core
echo "140" > /sys/kernel/msm_mpdecision/conf/twts_threshold_0
echo "0" > /sys/kernel/msm_mpdecision/conf/twts_threshold_1
echo "140" > /sys/kernel/msm_mpdecision/conf/twts_threshold_2
echo "190" > /sys/kernel/msm_mpdecision/conf/twts_threshold_3
echo "140" > /sys/kernel/msm_mpdecision/conf/twts_threshold_4
echo "190" > /sys/kernel/msm_mpdecision/conf/twts_threshold_5
echo "0" > /sys/kernel/msm_mpdecision/conf/twts_threshold_6
echo "190" > /sys/kernel/msm_mpdecision/conf/twts_threshold_7


Set Thermal Values
Go to /sys/kernel/msm_thermal/conf/ in a root file browser and change the values

I recommend that you figure out what you like and then create your own init.d script like I did. Here is the link to my example Script. I have 99 appended to the front so that it will run last resetting any previously set settings.
https://copy.com/cyApOWNSjPs1

Here is my init.d tweak folder. https://www.dropbox.com/sh/88sqwe9q018pcne/xCzZBKAJTt Make sure to give them a number in the front if you decide to add them. Like 01_blahblah or 02_blahblah.​


 
Last edited:

aamitabh28

Senior Member
Oct 9, 2012
1,025
410
Finally.. Thanks man.. Will try ASAP and let you knw

Sent from my Nexus 5 using Tapatalk
 

mamoto66

Senior Member
Feb 4, 2013
630
263
laredo,spain
Bam ROM installed and working fine.Thanks for the work and greetings from Spain, HTCMania.
 

Attachments

  • Screenshot_2014-01-27-13-52-29.png
    Screenshot_2014-01-27-13-52-29.png
    208.2 KB · Views: 8,472
  • Screenshot_2014-01-27-13-42-10.png
    Screenshot_2014-01-27-13-42-10.png
    183.5 KB · Views: 9,423

Jephre

Senior Member
Oct 31, 2010
193
37
I've been running the linaro 4.7.4 version of Uber on Blue Lightning and it works great! Is there any reason I should switch to the 4.8.3 version?
 

Jephre

Senior Member
Oct 31, 2010
193
37
Yeah, it's got bigger numbers ;)

Sent from my Nexus 5 using Tapatalk

Harhar, very funny :eek:

Sorry, I'm not very technical, but I'm interested in learning more about kernels. Aside from the bigger numbers, is there some sort of performance or efficiency difference between the two? Pros and Cons of each?

Much appreciated!
 

GianniDPC

Senior Member
Mar 26, 2012
468
99
Well the op said that if a ROM didn't boot up on this kernel we are to let you know. Well guess what? Latest cm nightly doesn't boot up. That's because cm decided to merge a bunch of caf stuff and now virtually all custom kernel are unbootable. Just saying. :crying:
Hope the OP can fix this :cowboy:

---------- Post added at 10:56 PM ---------- Previous post was at 10:10 PM ----------

Does anyone else ecounter random reboots when locking the screen?
 

t1.8matt

Senior Member
Jan 22, 2012
1,922
419
Pittsburgh, PA.
What scheduler and governor are you guys using on 4.8.3 for better performance? There's so many to choose from and I'm having a difficult time telling which ones work better.
 

sinkster

Senior Member
Aug 25, 2010
1,253
379
55
Glasgow
Google Pixel 5
Google Pixel 6 Pro
Last edited:

Cl3Kener

Senior Member
Feb 4, 2013
71
7,001
Cleveland, OH
plus.google.com
Hey Everyone!

So once again I'm having to rebuild my kernel thanks to CM. I uploaded yesterdays kernels early this morning after good day of testing with Stock. I have now created a branch for Stock as a backup and I guess we'll see if somehow the new kernel with CM updates is still compatible later. I hope to knock out the whole things today which will be difficult because it looks like somewhere in the ballpark of 200-250 commits. Assuming I have an error 1 every 10 that should only take me about several hours to do. :(

Anyways, so someone asked about changelogs. It's not that I don't believe in super detailed changelogs but I find that unless it's a tangible features nobody really understands/cares which is why I just include major features on Post #2. I've include the link to my github source which I find it best because iif you don't understand the commit message you can just click on the commit and read about the changes. Or I guess if you really wish I can just grab a log and paste it here like this

Code:
eac11e6 workqueue: fix mismatch
364f2a7 lib: spinlock_debug: increase spin dump timeout to one second
8f8e924 lib: spinlock_debug: increase spin dump timeout
1b51e62 sched/debug: Make sysrq prints of sched debug data optional
e3aab22 msm: cpuidle: use format string in snprintf
aba2b89 msm: gdsc: Make enable/disable function clock controls symmetric
83ddecf ARM: dts: msm: Add additional GDSC devices
5c07136 msm: subsystem_restart: Correct state transition even in absence of PIL
36f3fa0 msm: Fix NULL pointer dereference in sensors ADSP driver.
76b41a8 msm: msm_bus: Don't touch ID array in case of invalid IDs
ca44047 msm: msm_bus: fix memory leak in msm_bus_fabric_probe
26a3de9 msm: Fix compiler error due to CONFIG_HIGHMEM being disabled
7c14347 msm: Update the kernel log messages
19dd8b4 msm: msm_bus: Fix the type error causing bandwidth overflow
76bb790 add extra free kbytes tunable
638a2f6 ARM: Flush the caches for non panicking CPUs in case of a kernel panic
1ca0aca ARM: smp: fix incorrect per-cpu definition of regs_before_stop
82cd77a ARM: smp: Save CPU registers before IPI_CPU_STOP processing
1344e17 ARM: 7816/1: CONFIG_KUSER_HELPERS: fix help text
70f5ee2 ARM: 7819/1: fiq: Cast the first argument of flush_icache_range()
522611e ARM: Fix FIQ code on VIVT CPUs
c50dd00 ARM: Fix the world famous typo with is_gate_vma()
a354187 ARM: fix nommu builds with 48be69a02 (ARM: move signal handlers into a vdso-like page)
7249d66 ARM: fix a cockup in 48be69a02 (ARM: move signal handlers into a vdso-like page)
85e9ad0 ARM: make vectors page inaccessible from userspace
f56fc17 ARM: move signal handlers into a vdso-like page
cdbe879 ARM: allow kuser helpers to be removed from the vector page
ec85740 ARM: update FIQ support for relocation of vectors
8e3a8a1 ARM: fiq: change FIQ_START to a variable
6dc1962 ARM: move vector stubs
065cf0f ARM: poison memory between kuser helpers
b3e9875 ARM: poison the vectors page
a2a12a7 ARM: 7735/2: Preserve the user r/w register TPIDRURW on context switch and fork
c18c81f ARM: 7693/1: mm: clean-up in order to reduce to call kmap_high_get()
2902c6e ARM: dts: msm: Remove dual configuration for CPU on msm8974
bf41f92 msm: msm_bus: Changes for QOS computation at BIMC
212375b msm: msm_bus: Change priority overrides based on master configuration
571edf5 ARM: dts: msm: remove ebi cache dump reservation for 8974
1b752b9 coresight: enable flush-on-flushin for periodic flush to usb
6655519 coresight: use dma_alloc_coherent for allocating tmc-etr memory
ae85721 coresight: Add support for byte counter interrupt feature
62c4004 coresight: add lpae support for coresight tmc driver
d2e3216 ARM: dts: msm: remove contiguous etr memory reservation support for 8610
fc30c37 ARM: dts: msm: remove contiguous etr memory reservation support for 8226
8e08231 ARM: dts: msm: remove contiguous etr memory reservation support for 9625
465f943 ARM: dts: msm: remove contiguous etr memory reservation support for 8974
84f8b02 ARM: dts: msm: modify memory reservation requirements for tmc-etr on 8610
ebbb2e9 ARM: dts: msm: modify memory reservation requirements for tmc-etr on 8226
63d10d8 ARM: dts: msm: modify memory reservation requirements for tmc-etr on 9625
04eb909 ARM: dts: msm: modify memory reservation requirements for tmc-etr on 8974
4cdbd69 ARM: dts: Enable additional GDSC collapse modes based on HW version
e67d6ee workqueue: Remove gcwq_has_idle_workers
70a7f5d workqueue: simplify CPU hotplug code
5627e14 workqueue: remove CPU offline trustee
0ba7786 workqueue: don't butcher idle workers on an offline CPU
7fdf3cb workqueue: reimplement CPU online rebinding to handle idle workers
afd342d workqueue: drop @bind from create_worker()
f601fe0 workqueue: use mutex for global_cwq manager exclusion
153b22f workqueue: ROGUE workers are UNBOUND workers
8beff10 workqueue: drop CPU_DYING notifier operation
0a5bb32 Defconfig: SMH
0384859 Revert " DRIVERS: SLIMBUS: Initial OC of Slimbus"

Those were my changes yesterday. :) (I having a feeling most of you just skipped over it)

As far as which do I think is better I personally like bleeding edge (and it seems like most of you do too) so I run Linaro 4.8.3. To me it feels a little snappier (on stock that is, I use stock for any of the battery life tests etc). Battery life seems to be about the same between the two though so again it's not like a big deal one way or another. I just like to give you all options instead of only making one kernel. Because I have build scripts and a fast computer it takes me about 5 minutes to build one kernel so I can make both in about 10 minutes. That's no big deal for me. The part that takes the time is the patching, coding, tweaking, and testing.

Speaking of testing, I still haven't really figured out my dream IO and CPU Gov combo yet. I've been playing around alot and hopefully some of you will too. I can tell you that I always default to CFQ or BFQ with Ondemand since I really like those combos but I am also starting to like several other combos. If you find a combo you think is awesome please post it and a screenshot if you want to convince us it is good for battery or whatnot.

Anyhow, enjoy the 1/27 kernel from yesterday! I'll be working on a CM compatible kernel today.

Cheers!
Cl3Kener
 

Top Liked Posts

  • There are no posts matching your filters.
  • 228


    Hey Everyone,

    I'm by no means a pro at kernel building but I've put lots of effort into this kernel so I thought I'd share it with you. After a very long inner conflict period I've decided to post in the android development forum instead of the original android development. I've included features of my own as well as patches and other features of many other top notch kernel developers. I would prefer if you make your way over to my source (link below) and read the commits so you can get to know them and how they have contributed but alas I not that naive enough to think any of you really would actually go and do that so I've included a nice feature list in post 2 with proper credits (at least for the big stuff).

    I am a huge fan of giving you options which is why I build my kernel with multiple toolchains and multiple sound options for you to test out and decide which option you find works best for you.

    I also made a Release Folder that contains kernels that do not contain any CPU or GPU overclock to keep things more stable for you. This kernel is built with UBERTC 4.9.4 since I feel like that give the best battery. Choose this option for stability.

    I frequently get asked if this kernel works with the many AOSP projects. The answer is YES! I haven't found an AOSP ROM yet that won't boot with this kernel. The only potential issue is that the ROM you flashed this kernel with has modified the ramdisk from stock or doesn't have a root containing sepolicy for Lollipop. Make sure to flash back to a stock ROOTED kernel and then flash UBER. My kernel uses you ramdisk while flashing for great ROM compatibility but sometimes this backfires.

    Do not flash on CM or CM-based ROMs! This kernel is not currently compatible with those "CAF-based" ROMs.

    WARNING!!! Even though I don't post anything unless it works (in this case on most if not all AOSP ROMs) I still don't want to be liable for user errors. In other words, if you flash one of these Kernels your warranty is void and I AM NOT RESPONSIBLE for any data loss or bricked devices etc.

    For more info see this video



    [AOSP 5.1 UBER KERNEL LINKS]




    Mirror #1: https://s.basketbuild.com/devs/Cl3Kener/HAMMERHEAD/UBER-L/

    Mirror #2: https://renderserver.net/browse?path=Cl3Kener/HAMMERHEAD/UBER-L

    Mirror #3: uber.oceighty.co/HAMMERHEAD/UBER-L/


    If you still want access to Kitkat Kernels Go to:: https://s.basketbuild.com/devs/Cl3Kener/HAMMERHEAD/UBER/


    Comprehensive Changelog of Everything (Aka Source Code)

    https://github.com/Cl3Kener/UBER-L/commits/master

    Code:
    [SIZE=4]
    [B][SIZE="6"]UBER Changelogs[/SIZE][/B]
    
    [B]10/03/15[/B]
    - 3.4.109
    - F2FS updates
    - Backlight Dimmer from Kitkat Kernel Returns!
    - KCAL updates
    - Better BFQ/CFQ tunings
    
    [B]09/18/15[/B]
    - Enable BFQIO Cgroup
    - Merge android-msm-hammerhead-3.4-lollipop-mr1.1 tag (no significant change)
    - Remove UBERTC 4.8.5 Kernel and add UBERTC 5.2.1 Faux and Francosound versions
    - Update Toolchains to 9/18/15 Snapshot
    
    [B]09/11/15[/B]
    - Returned SELinux Toggle to CFG (it was removed on accident)
    - 8555f12 lz4: fix system halt at boot kernel on x86_64
    - 264f011 Makefile: sort list of defconfig targets in make help output
    - 7cc54ca kbuild: remove warning about "make depend"
    
    [B]09/05/15[/B]
    - Merge latest F2FS from upstream
    - Kernel source bump to 3.4.108
    - Update Toolchains to 9/5 (see github.com/UBERTC for details)
    - Other misc bug fixes
    
    [B]5/13/15[/B]
    6cb9d79 f2fs: fix counting the number of inline_data inodes
    f2f065b f2fs: don not re-lookup nat cache with same nid
    189ca9c f2fs: remove unneeded f2fs_make_empty declaration
    29b6fe9 f2fs: issue discard with finally produced len and minlen
    611b6ee f2fs: introduce discard_map for f2fs_trim_fs
    55efe4c f2fs: revmove spin_lock for write_orphan_inodes
    30a0e33 f2fs: split find_data_page according to specific purposes
    aa6141b f2fs: add need_dentry_mark
    11a3834 f2fs: fix race on allocating and deallocating a dentry block
    9f96171 f2fs: introduce dot and dotdot name check
    e37bfdd f2fs: move get_page for gc victims
    4dc9fb0 f2fs: add sbi and page pointer in f2fs_io_info
    ccd6bae f2fs: add f2fs_may_inline_{data, dentry}
    6779a11 f2fs: clean up f2fs_lookup
    b60987f f2fs: introduce f2fs_commit_super
    21087dc f2fs: add f2fs_map_blocks
    36ec73a f2fs: add feature facility in superblock
    a907c38 f2fs: move existing definitions into f2fs.h
    06efb1d f2fs: add missing version info in superblock
    39ee8dd f2fs: fix not to check IS_ERR for null pointer
    aa9f5f4 f2fs: make has_fsynced_inode static
    8ef6ea8 f2fs: add offset check routine before punch_hole() in f2fs_fallocate()
    5cc5ac1 f2fs: use is_valid_blkaddr to verify blkaddr for readability
    b5731af f2fs: fix wrong error hanlder in f2fs_follow_link
    41a82f9 Revert "f2fs: enhance multi-threads performance"
    74e1c0f Defconfig: Use XZ Compression
    3296fd2 Defconfig: Use regular gzip compression
    9c0a666 ipv4: Missing sk_nulls_node_init() in ping_unhash().
    4213a5d SELinux: ss: Fix policy write for ioctl operations
    a317da7 seccomp: Replace BUG(!spin_is_locked()) with assert_spin_lock
    73d6b2c nf: IDLETIMER: Adds the uid field in the msg
    b0064e6 ARM: add documentation for finding start of physical memory
    4609cfd ARM: 8294/1: ATAG_DTB_COMPAT: remove the DT workspace's hardcoded 64KB size
    40a96c1 ARM: 8191/1: decompressor: ensure I-side picks up relocated code
    f53b231 ARM: compressed/head.S: remove s3c24xx special case
    950e423 hashtable: introduce a small and naive hashtable
    bd0707b lib/lz4: Pull out constant tables
    666f751 SELinux: use deletion-safe iterator to free list
    057b63c SELinux: per-command whitelisting of ioctls
    e979523 security: lsm_audit: add ioctl specific auditing
    b813589 SELinux: Update policy version to support constraints info
    d464f89 SELinux: add default_type statements
    6be5d3b SELinux: allow default source/target selectors for user/role/range
    9529eb0 selinux: add SOCK_DIAG_BY_FAMILY to the list of netlink message types
    efff44c selinux/nlmsg: add XFRM_MSG_MAPPING
    d1d6e3b selinux/nlmsg: add XFRM_MSG_MIGRATE
    1c24c4a selinux/nlmsg: add XFRM_MSG_REPORT
    19bf436 selinux/nlmsg: add XFRM_MSG_[NEW|GET]SADINFO
    bb0858e selinux/nlmsg: add XFRM_MSG_GETSPDINFO
    cfe7f96 selinux/nlmsg: add XFRM_MSG_NEWSPDINFO
    27c0a2f pstore: selinux: add security in-core xattr support for pstore and debugfs
    7380a43 f2fs:sync with upstream branch
    b0afd9f VFS: Make more complete truncate operation available to CacheFiles
    
    [B]4/24/15[/B]
    129daf9 Revert "usb-storage/SCSI: blacklist FUA on JMicron 152d:2566 USB-SATA controller"
    41003d9 Linux 3.4.107
    5af9f19 PCI: Handle read-only BARs on AMD CS553x devices
    b167462 lib/checksum.c: fix build for generic csum_tcpudp_nofold
    0f3307a mm: fix anon_vma->degree underflow in anon_vma endless growing prevention
    419bc8f net: compat: Update get_compat_msghdr() to match copy_msghdr_from_user() behaviour
    e370ccd nilfs2: fix deadlock of segment constructor during recovery
    26c0d38 spi: dw: revisit FIFO size detection again
    79940b6 ntp: Fixup adjtimex freq validation on 32-bit systems
    6a5e559 s390/3215: fix tty output containing tabs
    84630a5 x86, cpu, amd: Add workaround for family 16h, erratum 793
    fc431d8 fsnotify: next_i is freed during fsnotify_unmount_inodes.
    c7d8a3b net:socket: set msg_namelen to 0 if msg_name is passed as NULL in msghdr struct from userland.
    7fbd1ca sched/rt: Reduce rq lock contention by eliminating locking of non-feasible target
    cf11b56 Bluetooth: ath3k: workaround the compatibility issue with xHCI controller
    53b3052 staging: comedi: cb_pcidas64: fix incorrect AI range code handling
    99ce0af ipvs: rerouting to local clients is not needed anymore
    294b66d jfs: fix readdir regression
    dd3ef12 pagemap: do not leak physical addresses to non-privileged userspace
    418605d Drivers: hv: vmbus: incorrect device name is printed when child device is unregistered
    1f833bc nilfs2: fix deadlock of segment constructor over I_SYNC flag
    bad8e6c ASoC: sgtl5000: add delay before first I2C access
    d481c9e net: sctp: fix passing wrong parameter header to param_type2af in sctp_process_param
    faca147 net: sctp: fix NULL pointer dereference in af->from_addr_param on malformed packet
    27fb1ba gpio: sysfs: fix memory leak in gpiod_sysfs_set_active_low
    407e221 gpio: sysfs: fix memory leak in gpiod_export_link
    b9c0ed3a MIPS: Fix kernel lockup or crash after CPU offline/online
    383e2c7 caif: remove wrong dev_net_set() call
    0a533c8 lib/checksum.c: fix carry in csum_tcpudp_nofold
    a096ac4 ALSA: ak411x: Fix stall in work callback
    2c43d74 ASoC: atmel_ssc_dai: fix start event for I2S mode
    93625b6 MIPS: IRQ: Fix disable_irq on CPU IRQs
    b8efe516 x86, mm/ASLR: Fix stack randomization on 64-bit systems
    666b625 net: sctp: fix skb_over_panic when receiving malformed ASCONF chunks
    af58a41f net: sctp: fix panic on duplicate ASCONF chunks
    61294cb vm: make stack guard page errors return VM_FAULT_SIGSEGV rather than SIGBUS
    dd37b66 vm: add VM_FAULT_SIGSEGV handling support
    31eae22 ipv6: replacing a rt6_info needs to purge possible propagated rt6_infos too
    afd1787 net: sctp: fix slab corruption from use after free on INIT collisions
    7e346ae ALSA: seq-dummy: remove deadlock-causing events on close
    1cc70a9 drm/i915: Only fence tiled region of object.
    dbabba0 USB: Add OTG PET device to TPL
    32a4cb1 usb-core bInterval quirk
    c3dbb4a usb-storage/SCSI: blacklist FUA on JMicron 152d:2566 USB-SATA controller
    3e2ff0a nl80211: fix per-station group key get/del and memory leak
    9048158 powerpc/xmon: Fix another endiannes issue in RTAS call from xmon
    284dbe8 regulator: core: fix race condition in regulator_put()
    73b7a4a ASoC: wm8960: Fix capture sample rate from 11250 to 11025
    7477cfd spi: dw-mid: fix FIFO size
    625dac0 spi: dw: Fix detecting FIFO depth
    09089c8 x86, hyperv: Mark the Hyper-V clocksource as being continuous
    884c3b1 libata: prevent HSM state change race between ISR and PIO
    c5e388a scripts/recordmcount.pl: There is no -m32 gcc option on Super-H anymore
    5804da9 libata: allow sata_sil24 to opt-out of tag ordered submission
    208d3e5 ALSA: usb-audio: Add mic volume fix quirk for Logitech Webcam C210
    33033f8 gpio: sysfs: fix gpio attribute-creation race
    cc46bd9 gpio: sysfs: fix gpio device-attribute leak
    01ae018 gpiolib: Refactor gpio_export
    66f9bf0 gpio: sysfs: fix gpio-chip device-attribute leak
    391bbd9 driver core: Introduce device_create_groups
    b295f4b sysfs.h: add ATTRIBUTE_GROUPS() macro
    d350632 can: dev: fix crtlmode_supported check
    685bcb9 ftrace/jprobes/x86: Fix conflict between jprobes and function graph tracing
    4f338c7 gpio: fix memory and reference leaks in gpiochip_add error path
    67fbd53 mm: fix corner case in anon_vma endless growing prevention
    6255515 mm: Don't count the stack guard page towards RLIMIT_STACK
    b7bd760 USB: console: fix potential use after free
    5e3c147 OHCI: add a quirk for ULi M5237 blocking on reset
    e5b68b3 HID: roccat: potential out of bounds in pyra_sysfs_write_settings()
    b5f80db mm: protect set_page_dirty() from ongoing truncation
    9e2a7ed mm: prevent endless growth of anon_vma hierarchy
    cc4a897 mac80211: fix multicast LED blinking and counter
    1b6398d Input: I8042 - add Acer Aspire 7738 to the nomux list
    d4211e2 Input: i8042 - reset keyboard to fix Elantech touchpad detection
    ab8f85c time: adjtimex: Validate the ADJ_FREQUENCY values
    e9dbd12 time: settimeofday: Validate the values of tv from user
    6973163 sata_dwc_460ex: fix resource leak on error path
    c463826 mm: propagate error from stack expansion even for guard page
    70946fb USB: cp210x: add IDs for CEL USB sticks and MeshWorks devices
    c8eb987 virtio_pci: document why we defer kfree
    7586079 virtio_pci: defer kfree until release callback
    be42ade virtio: use dev_to_virtio wrapper in virtio
    86f0a0b ALSA: hda - Fix wrong gpio_dir & gpio_mask hint setups for IDT/STAC codecs
    436f6e5 x86, um: actually mark system call tables readonly
    a1c9f2c USB: cp210x: fix ID for production CEL MeshConnect USB Stick
    536d010 video/logo: prevent use of logos after they have been freed
    4b2d8f9 net: Fix stacked vlan offload features computation
    9f9e0eb crypto: af_alg - fix backlog handling
    8714253 udf: Check component length before reading it
    e8ccb36 x86_64, vdso: Fix the vdso address randomization algorithm
    381e190 udf: Check path length when reading symlink
    a1d9cdb udf: Verify symlink size before loading it
    5e5b0ad udf: Verify i_size when loading inode
    aa4a4d8 isofs: Fix unchecked printing of ER records
    2beaf0f ocfs2: fix journal commit deadlock
    47d92db ALSA: usb-audio: extend KEF X300A FU 10 tweak to Arcam rPAC
    c0f882a iscsi-target: Fail connection on short sendmsg writes
    5bf2cf1 isofs: Fix infinite looping over CE entries
    b43f5a7 storvsc: ring buffer failures may result in I/O freeze
    0171dc6 x86/tls: Don't validate lm in set_thread_area() after all
    fe0e500 x86/tls: Disallow unusual TLS segments
    ccbdf10 genirq: Prevent proc race against freeing of irq descriptors
    070cfb0 x86_64, switch_to(): Load TLS descriptors before switching DS and ES
    3b6254d ncpfs: return proper error from NCP_IOC_SETROOT ioctl
    1f8e97d Btrfs: fix fs corruption on transaction abort if device supports discard
    ee88360 KEYS: Fix stale key registration at error path
    d33fb04 ALSA: usb-audio: Don't resubmit pending URBs at MIDI error recovery
    218ba26 can: peak_usb: fix cleanup sequence order in case of error during init
    583aecd can: peak_usb: fix memset() usage
    fdfce29 drm/radeon: check the right ring in radeon_evict_flags()
    f712352 hp_accel: Add support for HP ZBook 15
    e03e5f4 drm/vmwgfx: Fix fence event code
    313249d drm/vmwgfx: Don't use memory accounting for kernel-side fence objects
    b78be84 iommu/vt-d: Fix an off-by-one bug in __domain_mapping()
    59075a8 ath5k: fix hardware queue index assignment
    ec453d0 ath9k: fix BE/BK queue order
    1e4f9ee ath9k_hw: fix hardware queue allocation
    b0003ef serial: samsung: wait for transfer completion before clock disable
    f703d74 mfd: tc6393xb: Fail ohci suspend if full state restore is required
    ff130a1 USB: cdc-acm: check for valid interfaces
    1f9db86 cdc-acm: memory leak in error case
    52f7ea1 megaraid_sas: corrected return of wait_event from abort frame path
    3c1b66b ASoC: sigmadsp: Refuse to load firmware files with a non-supported version
    566423d genhd: check for int overflow in disk_expand_part_tbl()
    9a95a6f scsi: correct return values for .eh_abort_handler implementations
    e97273c PCI: Restore detection of read-only BARs
    2c41cbd drbd: merge_bvec_fn: properly remap bvm->bi_bdev
    482d22e driver core: Fix unbalanced device reference in drivers_probe
    8ca5f89 UBI: Fix invalid vfree()
    2f3b2e1 usb: renesas_usbhs: gadget: fix NULL pointer dereference in ep_disable()
    7a2d438 writeback: fix a subtle race condition in I_DIRTY clearing
    347ac8b writeback: Move I_DIRTY_PAGES handling
    62f5128 eCryptfs: Force RO mount when encrypted view is enabled
    bba4bdb i2c: davinci: generate STP always when NACK is received
    1b231ad ahci: disable MSI on SAMSUNG 0xa800 SSD
    2575c22 ahci: disable MSI instead of NCQ on Samsung pci-e SSDs on macbooks
    9219bb3 ahci: disable NCQ on Samsung pci-e SSDs on macbooks
    badcbca mm: fix swapoff hang after page migration and fork
    81d169a drm/radeon: kernel panic in drm_calc_vbltimestamp_from_scanoutpos with 3.18.0-rc6
    90f3dfb sata_fsl: fix error handling of irq_of_parse_and_map
    f1c27d0 AHCI: Add DeviceIDs for Sunrise Point-LP SATA controller
    e8fb016 drm/i915: Unlock panel even when LVDS is disabled
    f67a7bb powerpc/pseries: Fix endiannes issue in RTAS call from xmon
    0f0a13e Input: xpad - use proper endpoint type
    9ac30f5 usb-quirks: Add reset-resume quirk for MS Wireless Laser Mouse 6000
    77ff742 MIPS: Loongson: Make platform serial setup always built-in.
    b17289a ALSA: hda - Limit 40bit DMA for AMD HDMI controllers
    2568455 usb: xhci: rework root port wake bits if controller isn't allowed to wakeup
    1b7b64f USB: xhci: Reset a halted endpoint immediately when we encounter a stall.
    52647cb USB: xhci: don't start a halted endpoint before its new dequeue is set
    b4205de ARM: 8216/1: xscale: correct auxiliary register in suspend/resume
    71a57fa bnx2fc: do not add shared skbs to the fcoe_rx_list
    f29bef1 nfsd: Fix slot wake up race in the nfsv4.1 callback code
    bc8a39f SUNRPC: Fix locking around callback channel reply receive
    496ed1e USB: ssu100: fix overrun-error reporting
    454e251 USB: keyspan: fix overrun-error reporting
    b80b73b USB: keyspan: fix tty line-status reporting
    6327481 usb: serial: ftdi_sio: add PIDs for Matrix Orbital products
    54e74b3 iio: Fix IIO_EVENT_CODE_EXTRACT_DIR bit mask
    7170965 USB: serial: cp210x: add IDs for CEL MeshConnect USB Stick
    cd571b4 spi: dw: Fix dynamic speed change.
    a50a1ca f2fs: flush symlink path to avoid broken symlink after POR
    4b73e2d f2fs: avoid abnormal behavior on broken symlink
    edfd750 f2fs: change 0 to false for bool type
    78760c3 Support GCC 6.0
    317bb9d LZ4 : fix the data abort issue
    be937e1 crypto: sha512 - Expose generic sha512 routine to be callable from other modules
    077393f crypto: add crypto_[un]register_shashes for [un]registering multiple shash entries at once
    db7f9b3 ARM: add support for kernel mode NEON
    fe0a05a ARM: 7837/3: fix Thumb-2 bug in AES assembler code
    99c2444 ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible
    d060373 ARM: add .gitignore entry for sha256-core.S
    2511498 arm: crypto: Add optimized SHA-256/224
    7f6ad8f crypto: arm/aes update NEON AES module to latest OpenSSL version
    bfeb2f7 vfs: make it possible to access the dentry hash/len as one 64-bit entry
    ca8a95e vfs: move dentry name length comparison from dentry_cmp() into callers
    a0848829 vfs: do the careful dentry name access for all dentry_cmp cases
    2387abd vfs: remove unnecessary d_unhashed() check from __d_lookup_rcu
    587ae11 vfs: clean up __d_lookup_rcu() and dentry_cmp() interfaces
    700622d f2fs: avoid punch_hole overhead when releasing volatile data
    b97d018 f2fs: do not recover wrong data index
    1444e0f f2fs: do not increase link count during recovery
    94a1fbe f2fs: assign parent's i_mode for empty dir
    34bce52 f2fs: add F2FS_INLINE_DOTS to recover missing dot dentries
    
    [B]4/04/15[/B]
    eb3042e f2fs: fix mismatching lock and unlock pages for roll-forward recovery
    63803ca f2fs: limit b_size of mapped bh in f2fs_map_bh
    aa01503 msm: mdss: KCAL: Update Kconfig description
    d220216 Revert "msm: mdss: KCAL: Check panel power state before applying values"
    2ca0f0e crypto: msm: Update clock vote for improved performance
    3c0c2ca msm: mdss: KCAL: Update according to linux guidelines and checkpatch.pl
    03049a3 msm: mdss: KCAL: Check panel power state before applying values
    2c6b7f2 soc: qcom: smd: Fix SMD packet sync loss issue
    ed728c1 vfs: read file_handle only once in handle_to_path
    2ac20db mm: Fix NULL pointer dereference in madvise(MADV_WILLNEED) support
    f86c2e1 f2fs: persist system.advise into on-disk inode
    4ebe176 f2fs: avoid NULL pointer dereference in f2fs_xattr_advise_get
    eae07f7 f2fs: preallocate fallocated blocks for direct IO
    54b3e53 f2fs: enable inline data by default
    3778d5c f2fs: preserve extent info for extent cache
    9eae818 f2fs: initialize extent tree with on-disk extent info of inode
    270d9bf f2fs: introduce __{find,grab}_extent_tree
    4d1d685 f2fs: split set_data_blkaddr from f2fs_update_extent_cache
    e593abe f2fs: enable fast symlink by utilizing inline data
    f545fdf f2fs: add some tracepoints to debug volatile and atomic writes
    bab1b76 f2fs: set SBI_NEED_FSCK when encountering exception in recovery
    77a1d2e f2fs: avoid wrong f2fs_bug_on when truncating inline_data
    e131be1 f2fs: enhance multi-threads performance
    3f434ce f2fs: set buffer_new when new blocks are allocated
    dc04eca f2fs: fix to cover sentry_lock for block allocation
    e6f5b86 f2fs: fix to check current blkaddr in __allocate_data_blocks
    b341170 f2fs: fix to truncate inline data past EOF
    0f7c2b2 f2fs: fix to calculate max length of contiguous free slots correctly
    8b45aaf f2fs: fix unlocked nat set cache operation
    2d99836 f2fs: cleanup statement about max orphan inodes calc
    276e1f8 f2fs: remove unnecessary condition judgment
    fb7e065 f2fs: set the correct place of initializing *res_page
    e00264c f2fs: reduce searching region of segmap when set free section
    7496d83 f2fs: fix extent cache memory leak
    fc94db1 f2fs: relocate Kconfig from misc filesystems
    798a549 f2fs: Update for AIO_OPTIMIZATION
    0862871 F2FS: Small Fixup
    9da735d xfs: introduce a generic shutdown ioctl
    0fef042 Update F2FS to Latest
    5d05017 Revert "FS: import F2FS"
    c7823f7 Revert "Update F2FS"
    fbe2f98 Revert "f2fs: fix wrong statistics of inline data"
    b894aa8 Revert "F2FS: Update Inode Compatibility"
    011f5f3 Revert "f2fs: Fix Compile"
    675bc72 ARM: 8160/1: drop warning about return_address not using unwind tables
    6a61897 ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
    937edd7 gpu:msm: Fix 5.0 compile
    7f8067a msm: mdss: Keep KCAL within its own source file [Squashed]
    99b7d5b Revert KCAL bits in prepration for update
    
    [B]3/20/15[/B]
    - Merge 5.1 Kernel Sources
    
    [B]3/06/15[/B]
    18c1482 mmc: Do not build tests
    564473b diag: Make fixes to diag_switch_logging
    a4a108b Readahead: Optimize divide/multiply by power of 2 using L/R shift
    ab96dc0 eCryptfs: Remove buggy and unnecessary write in file name decode routine
    5c1fc3f mmc: core: Silence log spam
    
    [B]2/28/15[/B]
    - Merged latest Color Drivers for N5 (neobuddy)
    - Changed Toolchains from SaberMod (Now partially closed source so that you cannot build for yourself anymore) to an AOSP-based open source toolchain called UBERTC. Many patches from Linaro have been included in source and also some GCC build fix patches from SaberMod to allow for the latest toolchain components.  All sources are GPL and can be found [URL="https://github.com/UBERTC/"]https://github.com/UBERTC/[/URL]. New toolchains have less of a tendency to lag in scrolling and other screen transitions in comparison to SaberMod and I think are better suited for UBER.  
    
    [B]01/31/15[/B]
    - Merged 3.4.106
    - Bugfix: Small Potential Memory Leak
    
    [B]01/31/15[/B]
    dcd2770 memory hotplug: reset pgdat->kswapd to NULL if creating kernel thread fails
    4028fbb memcg: further prevent OOM with too many dirty pages
    86aa61a memcg: prevent OOM with too many dirty pages
    04848e5 kernel: cgroup: push rcu read locking from css_is_ancestor() to callsite
    fed88ee mm: vmscan: remove reclaim_mode_t
    28907d4 mm: vmscan: do not stall on writeback during memory compaction
    fdc5efe mm: vmscan: remove lumpy reclaim
    ecb6e1a mm: remove swap token code
    3786e5f sched: Fix reference to stale task_struct in try_to_wake_up()
    6ced785 KEYS: close race between key lookup and freeing
    3604d7d ARM: pull in <asm/simd.h> from asm-generic
    c48e1eb msm: watchdog_v2: Print IRQ during bark
    4e46170 ASoC: msm: qdsp6v2: Silence some noise
    5466e82 net: wireless: bcmdhd: Silence some unnessecary noise
    c726ad0 netfilter: x_tables: Silence some debug info
    bd23093 Defconfig: Remove lots of Debugging
    5cfb502 Makefile: Make more consistent
    ba54a8f Makefile: -O3 instead
    1cc151d Makefile: Disable annoying warnings
    c8fe6d2 Makefile:  Rethink flags and ordering
    d5d8089 Makefile: Add -floop-nest-optimize everywhere
    d55d009 block: Tune SIO and remove dead code/white spaces
    f11eac5 Makefile: Try floop-nest-optimize
     [/SIZE]

    If you are unsatisfied with UBER you can uninstall it. Here is the link to the uninstaller http://d-h.st/y1k


    Features
    Code:
    * Based upon Google's msm 3.4.y source for Hammerhead
    * Updated to 3.4.109 from Kernel.org
    * MultiROM Compatible (has Kexec patch)
    *  Compatible with Stock as well as AOSP projects (CAF-based do not work  sorry CM fans, CAF-kernel is just not as stable and battery friendly  imao so I'll stay AOSP for now). If it doesn't work on a ROM let me  know!!!
    * CPU Governors added: Intellidemand, Intelliactive,  Adaptive, Lionheart, AbyssplugV2, Ondemandplus, Badass, Wheatley, Hyper,  Lazy, PegasusQ, Nightmare, DanceDance, Darkness, Slim, Intellimm, Optimax. and Uberdemand
    * GPU Governors: Performance, Ondemand, and Interactive (Franco)
    * IO Schedulers: Noop, Deadline, VR, SIO, ROW, CFQ, BFQ, FIOPS, FIFO, ZEN and Tripndroid
    * Compiled with Custom Linaro ARM EABI 4.9.3 toolchains (Cl3Kener) (see https://github.com/UBERTC/)
    * Compiled with Custom Linaro GNUEABI 4.9.3 (Christopher83)
    * Compiled with Custom UBERTC 4.9.3/5.2.1 (Cl3Kener) (see https://github.com/UBERTC/)
    * -Ofast optimized with neon and graphite enhancements (Cl3Kener)
    * Linaro compiler flags for greater optimization build wide (Cl3Kener)
    * Snapdragon & CortexA15 optimizations (Tons of Contributors)
    * Non-Stock Hotplug and Thermal regulator (from showp1984)
    * Touch Boost - Showp1984 (comes with hotplug)
    * GPU OverClock up to 650 MHz (27 MHz is still default idle with lowest frequency being underclocked to 100 MHz) (Cl3Kener)
    * Allow CPU OverClock up to 3.0 Ghz (Cl3Kener)
    * Allow CPU UnderClock to 96Mhz (showp1984 implementation)
    * L2 Cache OverClock (flar2)
    * Ramdisk Edits on the fly for greater compatibility. (Strongly based on Showp1984 implement)
    * Undervolting Control (Franco)
    * LZ4 support implemented kernel wide - fastest compression/decompression  available (Cl3Kener)
    * Google Snappy Compression/Decompression support (just in case you want it)
    * XZ Compression to latest 3.17.y (Cl3Kener)
    * KSM (Kernel Samepage Merging)
    * Faux Sound (Faux123)
    * Franco Sound (Franco)
    * Sweep2Wake, Sweep2Sleep, Double Tap 2 Wake (Showp1984 with Faux123 verticle s2w support and flar2 dt2w enhancements)
    * Powerkey suspend for S2W/DT2W (Flar2 version)
    * Wake timeout for S2W/DT2W/ (Flar2)
    * Dynamic and Asynchronous Fsync (Faux123)
    * USB Fast Charge with many voltage options (Faux123)
    * Gamma Control (Various Contributers)
    * Color Control (savoca)
    * Fstrim (reduces lag see more: http://man7.org/linux/man-pages/man8/fstrim.8.html)
    * ExFat Support (you'll need to load it via this init.d  https://www.dropbox.com/s/tfm8k9vmskuhs4v/loadexfat) Updated to latest  version (Neobuddy)
    * Low Memory Killer - Many patches from Neobuddy
    * Zram support upstreamed to 3.17.y branch (Cl3Kener)
    * Zram supports lz4 compression now (kernel.org)
    * Zcache, and Cleancache support updated to 3.14.y (Cl3Kener)
    *  BLX - Battery Life Extender (See here http://forum.xda-developers.com/nexus-s/development/mod-battery-life-extender-blx-t1257497) Ported by Ayysir  to msm8974 devices
    * F2FS file system support from Samsung
    * Mount internal storage as CDROM (Frozen Cow)
    * Advanced TCP Congestion Options (Veno as default, all 12 from http://kernel.org)
    * Stereo Call Recording Support
    * Uber.cfg for tuning kernel thanks to @janres155 & @Williamsss
    * Many patches to improve various parts of the kernel (see source)
    *  Full Source including defconfig is available for you use/learn from.  (Not a feature but I feel it is important that my source is complete so  you can build directly from it if you want to learn and experiment)

    JOIN MY DEVELOPMENT COMMUNITY ON GOOGLE PLUS (CLICK LINK) Come join for more fun! I've got some tutorials, ROMs, and other things I share with community members and well.

    Installation Instructions


    1. For best results a install these kernel after a fresh ROM install (although it still should work if you don't do that)
    2. Reboot into recovery (TWRP 2.8+ or compatible recovery)
    3. Flash Kernel Zip
    4. Reboot and let Settle for ~10 minutes (optional but recommended)
    5. Navigate to system/etc/uber_v1.3.cfg using your favorite root file browser and change values based on descriptions to whatever you want.
    6. Enjoy!!! :)
    Note: In Android Lollipop while Superuser kinks are still being worked out you may need to reflash root after you flash kernel.

    CREDITS & SPECIAL THANKS TO:

    Dennis Rassmann - for all of his kernel work. I'm in love with all of his features and you'll find them all in my kernel.
    Ayysir - for his wonderful tutorial on making a bash script to build kernels.
    Other great kernel devs Francisco Franco, Faux123, Flar2, Neobuddy89, FrozenCow, Christopher83, Savoca, Hellsgod and any other mentioned in the above feature list or changelog - I cherry-pick work of all of the kernel greats!
    Google - for kernel base and Android Open Source Project!
    Linaro - for some really great toolchain patches!
    Code Aurora Forum (CAF) - for some really great kernel patches!
    Gnu.org - for always improving the C Compiler for better made code!!!
    SaberMod - for making patches to fix any errors in GCC code!
    LG - for manufacturing this awesome phone!



    UBER Kernel sources can be found at https://github.com/Cl3Kener/UBER-L
    Toolchain Sources can be found at https://github.com/UBERTC/
    Config Sources can be found at https://github.com/wSedlacek/cfg



    Informational Links
    Comprehensive Guide to Android Development
    Here is a fantastic guide on "Innards" of Kernels
    Building a Bash Script to make Kernels



    XDA:DevDB Information
    [KERNEL][3.4.109][10/03/15] UBER-L | LINARO & UBERTC 4.9.4 -O3 Graphite F2FS, Kernel for the Google Nexus 5

    Contributors
    Cl3Kener
    Source Code: https://github.com/Cl3Kener/UBER-L

    Kernel Special Features:

    Version Information
    Status: Stable

    Created 2014-01-27
    Last Updated 2015-12-01
    84
    Solutions/Ideas to the Most Common Issues​


    I cannot seem to flash UBER Kernel why is that? Some ROMs come with these build.prop lines which are unacceptable to TWRP but work fine as far as the ROM goes. You will have to remove these lines from the build.prop for it to flash.
    dalvik.vm.dex2oat-flags "--compiler-filter=interpret-only"
    dalvik.vm.image-dex2oat-flags ""​
    After you have installed the kernel you can re-add these lines to your build.prop. If you don't have these lines in your build.prop it is most likely a bad download.

    I have RRs with this kernel but not with others, why is that?
    I have undervolted some other kernel features besides the cpu that you cannot change to save you battery. On some N5s (since not all are created equal) you may actually have to increase voltages on cpu or else you keep getting RRs. Try +25 across CPUs and see if that fixes your RRs. If not keep going down the list.

    Having issues with Undervolting?
    The chief complaint about this kernel is that "I can't uV as much as I can with other kernels." I have undervolted other kernel features (ie cpu regulators) that you cannot change to save you battery. This makes it hard for you to uV the cpu voltages as far but rest assure you'll still be getting better battery for it. Also, be aware that undervolting is a little dangerous in this kernel because of the potential of data loss when dynamic fsync is enabled. If you do decide to undervolt make a backup first so when your phone crashes you can restore. Also be aware that most of the logs ending in wdog_reset are caused by too much uV so before you post a log that ends in wdog_reset please stop undervolting first to see if the RRs persist. Below -25 uV seems to be the point where most users experience issues. Also keep in mind that voltage is important in benchmarking. Many people are benchmarking at incorrect voltages for their devices. I have to add +25 mV to all values so that it doesn't RR during benchmark. Each phone is a little different so some of you may be fine as is and some of you may need to go +50 mV or even potentially more. You'll have to experiment to see where your phone's "sweet spot" is. I again recommend also disabling Dynamic Fsync until you have figured out where that sweet spot is to prevent data loss.

    Why am I having issues with ROMs on MultiROM?
    From my experiences, Custom Kernels and MultiROM have always not played well together. Flashing a custom kernel on Internal ROM has never been an issue you try and flash a custom kernel on ROMs 2-whatever you have weird permission issues which can cause all sorts of problems for you (apps crashing, RRs, loss of root, etc). This is probably why the kernel sharing feature was added which is good but has it's own set of problems when using UBER. (See post directly below) To reiterate, this is not a bug in UBER or MultiROM just a slight incompatibility between the two we have to overcome by hand.

    UBER works fine on Internal ROM but has issues on ROMs 2 and beyond when using MultiROM and sharing UBER why is this?
    UBER is not specifically geared for use in MultiROM, not because I don't like multiROM but simply because of Uber's nature. UBER uses showp1984's custom msm_mpdecision and thermal which conflict with proprietary mpdecision and thermal regulators and cause RRs if these files are present. During normal kernel flash these files are renamed and don't conflict with UBER. When you share this kernel during ROMs 2 and beyond can still be used safely if you know what you're doing. In order to allow ROMs 2, 3, and beyond to share the kernel you must delete N5 proprietary files found at system/bin/mpdecision and system/bin/thermal-engine-hh when running those ROMs. It is a fairly easy process, just install a Root File Browser, locate then, and delete. :) Normally in kernel flashing process I rename those files to mpdecision_bck and thermanl-engine-hh_bck for you so you never have to see or worry about them. If you use Sharing Feature on MultiROM you'll have to deal with these yourself. I apologize for this inconvenience but there is nothing I can do from my end. Flashing UBER on ROM 2 breaks it and sharing has problems until you remove these two files.

    Why are certain apps crashing on me?
    Most likely it is due to Frandom. I have implemented Frandom by default in this kernel and to my knowledge I'm the only developer that does that by default. Some apps or mods may not be frandom compatible. Most are 100% compatible but not all. If you notice programs stop opening or are having constant reboots try removing 00_frandom from the init.d folder and reboot. I think for stable releases which I plan on posting on XDA this weekend I will not have frandom implemented by default but in nightlies it will always be implemented. Also if you keep having random reboots this is something to try as well.

    Not booting? Maybe you have Ramdisk Incompatibility. This kernel uses your ramdisk. Most of the time that works well. Sometimes it does not. Make sure to flash
    http://goo.im/devs/Cl3Kener/HAMMERHEAD/KERNELS//STOCK-BOOT_IMAGE-4.4.3.zip and try again if it doesn't boot. If it still doesn't boot make sure to verify that it is not CAF. Some ROMs fail to mention they are CAF-based but they really are.

    My phone crashed once during benchmarking or for no apparent reason and now keeps randomly rebooting.
    My guess is you have Data Corruption. If you crash your phone out benchmarking or have a frandom related RR and you still keep getting RRs you might have data corruption. This usually happens when you have Dynamic Fsync enabled because Fsync is disabled when screen is on. When testing I crash my phone all of the time and apps and things get messed up. Having a backup is good but if you don't want to waste time backing up all of the time you can salvage things still. Here is what I do when I've crashed the phone and continue to get soft reboots: 1) I install SD Maid from the Google Play store. (I have pro version so I can clean more but free version should work well enough) 2) I use SD Maid to clean all of the app data. (don't worry it is smart enough to not loose your passwords so you won't have to resign into your apps) Then I download ROM Manager by Koush. I don't actually use ROM Manager I just think it has the best permissions fixing feature of any app I've tried (including recoveries). I select the option Fix Permissions toward the bottom of the free version. It then prompts a reboot and then I reboot and life is good again.

    I have battery drain when nobody else does.... help!!! Install a wakelock detector and figure out what is keeping your CPU awake. If it's an app. Fix permissions, clear app data, reinstall app, disable app, etc. until is stops having issues.

    Still have problems? Search my Google+ community in the questions category. If you don't find anything see below:


    ERROR REPORTING

    I am always open to hearing about your errors
    although just telling me something went wrong without giving me details does me absolutely no good. So here are my expectations if you do want to complain about something not working:

    1. Please list the ROM you are using,
    2. The IO scheduler you were using
    3. The CPU governor you were using
    4. The CPU frequency range
    5. What you have done to attempt to fix it.
    6. If you were able to simulate it again using the same settings.
    7. Anything else you think is applicable to the issue


    I would also hope that you would consider trying some of the following things to fix your issue before you ever report it because most of these things will fix the problem without me even having to change a thing.

    1) Fix file permissions using a program that does a thorough job. I recommend using the fix file permissions in ROM manager because it is the best I’ve seen. For the record, I don’t actually use ROM manager for anything other than fixing permissions. Please consider trying this first because it tends to fix most of the FC/RR/SOD errors you might have.
    2) Make a backup and install a clean version of the ROM you are running and see if you are still experiencing those same errors. You may have corrupted files if you’ve been dirty flashing.
    3) If that doesn’t solve it, redownload and reflash, maybe something got corrupted but it still managed to flash. This happens sometimes and I can cause you grief.
    4) Pull a logcat. MAKE SURE TO DISABLE DYNAMIC FSYNC BEFORE LOGGING!!! LEAVING IT ENABLED WILL CORRUPT YOUR LOG!I know not everyone knows how to do this but you can learn if you check out this OP or if you aren't comfortable with using terminal commands to pull a log just install Bootlog Uptime and set it up to autocopy log on RR. Opening the program after crash will autocopy your log and you send it to me.


    80
    QUICK GUIDE TO TUNING YOUR KERNEL

    Thanks to the uber.cfg you no longer need to tune manually because you have the following already in the kernel:

    1. BOOT SETTINGS

    1.1 KERNEL SWITCH
    1.2 GRACE TIME
    1.3 WAIT TIMERS
    1.4 FILE SYSTEM TRIM

    2. CPU SETTINGS
    2.1 CPU SETTINGS SWITCH
    2.2 CPU FREQUENCY SCALING
    2.2.1 CPU FREQUENCY SCALING SWITCH
    2.2.2 CPU MAX FREQUENCY
    2.2.3 CPU MIN FREQUENCY
    2.3 CPU GOVERNOR
    2.3.1 CPU GOVERNOR SWITCH
    2.3.2 CPU GOVERNORS
    2.4 CPU MULTICORE POWER SAVING

    3. CPU VOLTAGE SETTINGS

    4. HOTPLUG SETTINGS

    4.1 MPDECISION SWITCH
    4.1.1 MPDECISION SCREEN-OFF MAX FREQUENCY
    4.1.2 MPDECISION SCREEN-OFF SINGLE CORE
    4.1.3 MPDECISION TOUCHBOOST
    4.1.4 MPDECISION MIN CPUS
    4.1.5 MPDECISION MAX CPUS
    4.1.6 MPDECISION HOTPLUG CONTROL
    4.1.7 MPDECISION UNPLUG CONTROL

    5. I/O SETTINGS
    5.1 I/O SCHEDULER
    5.2 I/O READ SPEED
    5.3 I/O READ SPEED FOR SD CARD

    6. GPU SETTINGS
    6.1 GPU SETTINGS SWITCH
    6.2 GPU FREQUENCY SCALING
    6.2.1 GPU MAX FREQUENCY
    6.2.2 GPU MIN FREQUENCY
    6.3 GPU GOVERNOR
    6.3.1 GPU GOVERNORS
    6.3.2 GPU UP THRESHOLD
    6.3.3 GPU DOWN THRESHOLD

    7. GAMMA SETTINGS
    7.1 GAMMA PRESET
    7.2 BACKLIGHT DIMMER
    7.2.1 BACKLIGHT DIMMER SWITCH
    7.2.2 MINIMUM BRIGHTNESS

    8. SOUND SETTINGS
    8.1 SOUND ENGINE
    8.2 FRANCO SOUND SETTINGS
    8.2.1 FRANCO MIC INPUT LEVEL
    8.2.2 FRANCO CALL OUTPUT LEVEL
    8.2.3 FRANCO SPEAKER OUTPUT LEVEL
    8.2.4 FRANCO HEADPHONE OUTPUT LEVEL
    8.3 FAUX SOUND SETTINGS
    8.3.1 FAUX MIC INPUT LEVEL
    8.3.2 FAUX MIC INPUT LEVEL FOR CAM
    8.3.3 FAUX SPEAKER OUTPUT LEVEL
    8.3.4 FAUX HEADPHONE OUTPUT LEVEL
    8.3.5 FAUX POWER AMP LEVEL
    8.3.6 FAUX LOCK

    9. MEMORY SETTINGS
    9.1 ZRAM SETTINGS
    9.1.1 ZRAM SWITCH
    9.1.2 ZRAM COMPRESSION
    9.1.3 ZRAM DISK SIZE (MB)
    9.2 VIRTUAL MACHINE SETTINGS
    9.2.1 SWAPPINESS
    9.2.2 DIRTY RATIO
    9.2.3 DIRTY BACKGROUND RATIO
    9.2.4 DROP CACHES
    9.2.5 FS WRITEBACK DELAY MODE
    9.3 KERNEL SAMEPAGE MERGING

    10. WAKE SETTINGS
    10.1 WAKE CONTROL SWITCH
    10.2 DOUBLE TAP TO WAKE
    10.3 SWEEP TO WAKE/SLEEP
    10.4 POWERKEY SUSPEND
    10.5 WAKE TIMEOUT

    11. MISCELLANEOUS SETTINGS
    11.1 TCP CONGESTION CONTROL
    11.2 DYNAMIC FSYNC
    11.3 POWER SUSPEND
    11.4 VIBRATION INTENSITY
    11.5 USB FAST CHARGE
    11.5.1 FAST CHARGE SWITCH
    11.5.2 FAST CHARGE LEVEL
    11.6 BATTERY LIFE EXTENDER

    12. MODULES
    12.1 FRANDOM
    12.2 EXFAT

    I still left these commands for people that like to see them anyways:


    Set Color Profiles
    See here http://forum.xda-developers.com/showpost.php?p=52926016&postcount=866

    Dynamic Fsync
    To enable - echo 1 > /sys/kernel/dyn_fsync/Dyn_fsync_active
    To disable - echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active


    KSM (Kernel Samepage Merging)
    To enable - echo "1" > /sys/kernel/mm/ksm/run
    To disable - echo "0" > /sys/kernel/mm/ksm/run


    USB Fast Charge
    To enable - echo 1 > /sys/kernel/fast_charge/force_fast_charge
    This makes USB to computer connections transfer current the same as the wall charger. (Classical version)
    Faux123 added the a ability to change currents to 500 900 1200 1500 2000. Enable by doing this
    To enable custom - echo 2 > /sys/kernel/fast_charge/force_fast_charge
    Then
    echo 1500 > /sys/kernel/fast_charge/fast_charge_level
    change value 1500 to whatever you want (as long as it's one of those 5 values)
    To disable - echo 0 > /sys/kernel/fast_charge/force_fast_charge


    Set Default IO Scheduler
    IO Acceptable values are bfq, cfq, deadline, fifo, fiops, noop, row, sio, vr, zen
    echo "bfq" > /sys/block/mmcblk0/queue/scheduler


    Set Default CPU Governor

    Acceptablevalues are adaptive, badass, intelliactive, dancedance, wheatley, abyssplugv2, ondemandplus, intellidemand, interactive, conservative, userspace, powersave, lionheart, ondemand, performance and others mentioned in kernel features above.
    echo "1" > /sys/devices/system/cpu/cpu0/online;
    echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor;
    echo "1" > /sys/devices/system/cpu/cpu1/online;
    echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor;
    echo "1" > /sys/devices/system/cpu/cpu2/online;
    echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor;
    echo "1" > /sys/devices/system/cpu/cpu3/online;
    echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor;


    Backlight Dimmer

    N is disabled, Y is enabled.
    echo "N" > /sys/module/lm3630_bl/parameters/backlight_dimmer


    Touch Boost

    Toggle 0 is disabled 1 is enabled.
    echo "0" > /sys/kernel/msm_mpdecision/conf/boost_enabled


    Double Tap To Wake
    There are three options here:
    0 is disabled
    1 is normal dt2w (bottom half of screen)
    2 is full screen dt2w
    echo "0" > /sys/android_touch/doubletap2wake


    Sweep2Wake/Sweep2Sleep
    This one is tricky because there are two files to change. If you want both only run
    echo "1" > /sys/android_touch/sweep2wake
    If you only want sweep2sleep you'll have to run this as well.
    echo "1" > /sys/android_touch/s2w_s2sonly
    To disabled run both run these commands but with 0s instead.


    GPU Governor Toggle

    Acceptable values are "performance" "simple" or "ondemand". Ondemand is default so I placed simple here. Performance will freeze system is placed at full OC (at lest for me so be careful!)
    echo "ondemand" > /sys/class/kgsl/kgsl-3d0/pwrscale/trustzone/governor

    Frequency options (Use values on the left for init.d script)
    533333000-> 533 Mhz
    487500000-> 487 Mhz
    450000000-> 450 Mhz
    389000000-> 389 Mhz
    320000000-> 320 Mhz
    200000000-> 200 Mhz
    150000000-> 150 Mhz

    Set Max GPU:
    echo "320000000" > /sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0/max_gpuclk

    Set Min GPU:
    echo "150000000" > /sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0/min_pwrlevel


    Pwrkeysuspend (disables s2w, dt2w)

    # 0 = disabled, 1 = enabled
    echo "1" > /sys/module/qpnp_power_on/parameters/pwrkey_suspend


    Wake Timeout of S2W/DT2W
    Note: # is in minutes (not seconds)
    echo "#" > /sys/android_touch/wake_timeout


    Load ExFat Module

    insmod /system/lib/modules/exfat.ko


    SET DEFAULT BOTTOM CLOCK SPEEDS
    (If you want to set max change crom scaling_min_freq to scaling_max_freq on bottom four) Acceptable values any of the clock speeds.
    echo "96000" > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq
    echo "96000" > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq
    echo "96000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
    echo "96000" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
    echo "96000" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
    echo "96000" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq


    Vibrator Level

    Stock Value is 63. Range of acceptable values is 0-100
    echo "63" > /sys/class/timed_output/vibrator/amp


    Dirty Ratios
    # dirty_background_ratio default is 10 (background meaning screen is off usually)
    echo "20" > /proc/sys/vm/dirty_background_ratio
    # dirty_ratio default is 20.
    echo "40" > /proc/sys/vm/dirty_ratio


    Set MPDecision Values

    Note: Only change these values after you've played with them in your favorite kernel tuning app. I recommend figuring out your settings then finding these files with a root browser then you can fill these init.d lines in with your root browser of choice.

    echo "1" > /sys/kernel/msm_mpdecision/conf/enabled
    echo "0" > /sys/kernel/msm_mpdecision/conf/boost_enabled
    echo "300000" > /sys/kernel/msm_mpdecision/conf/idle_freq
    echo "4" > /sys/kernel/msm_mpdecision/conf/max_cpus
    echo "1" > /sys/kernel/msm_mpdecision/conf/min_cpus
    echo "12" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_0
    echo "0" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_1
    echo "25" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_2
    echo "7" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_3
    echo "30" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_4
    echo "10" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_5
    echo "0" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_6
    echo "18" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_7
    echo "1" > /sys/kernel/msm_mpdecision/conf/scroff_single_core
    echo "140" > /sys/kernel/msm_mpdecision/conf/twts_threshold_0
    echo "0" > /sys/kernel/msm_mpdecision/conf/twts_threshold_1
    echo "140" > /sys/kernel/msm_mpdecision/conf/twts_threshold_2
    echo "190" > /sys/kernel/msm_mpdecision/conf/twts_threshold_3
    echo "140" > /sys/kernel/msm_mpdecision/conf/twts_threshold_4
    echo "190" > /sys/kernel/msm_mpdecision/conf/twts_threshold_5
    echo "0" > /sys/kernel/msm_mpdecision/conf/twts_threshold_6
    echo "190" > /sys/kernel/msm_mpdecision/conf/twts_threshold_7


    Set Thermal Values
    Go to /sys/kernel/msm_thermal/conf/ in a root file browser and change the values

    I recommend that you figure out what you like and then create your own init.d script like I did. Here is the link to my example Script. I have 99 appended to the front so that it will run last resetting any previously set settings.
    https://copy.com/cyApOWNSjPs1

    Here is my init.d tweak folder. https://www.dropbox.com/sh/88sqwe9q018pcne/xCzZBKAJTt Make sure to give them a number in the front if you decide to add them. Like 01_blahblah or 02_blahblah.​


    53
    Longest XDA Post Ever!

    September 25, 2014

    It's been a while since the last update. I've tried quite a few things like trying to merge upstream stuff from Google 3.4.y which was a very bad idea. It really bogged down kernel and caused freezes. That's the last time I'll trust Google 3.4.y common branch for updates. I have since reverted and brought more updates from kernel.org and other kernel developers working on this N5.

    I've been hearing a lot of complaints recently but I haven't seen any logs with regards to these complaints so here is my thought for the day "If a tree falls in a forest and no one is around to hear it, does it make a sound?"

    Seeing as I don't experience any of these so called "bugs" (I don't call them bugs simply because imao bugs are reproduceable and I cannot reproduce them) I can't get a log. If I can't get a log I don't know what is going wrong and therefore the "log" from the tree that fell (hopefully it didn't hit you) made no sound for me....


    Anyhow, Here are the topics I'm noticing are trending on this Thread and my thoughts about them:

    Sound


    Overview: For some very strange reason many users look the to the kernel as the reason for any bug. Keep in mind that both the ROM and APP are also involved in sound. Some apps I've found do poorly with the current default screen off frequency and some play well. My advice is to try something that we know should work without any issues which is Google Play Music. If you can play your songs on that app without any issues it is most likely the APP and not the kernel. Also make sure not to use any sound mods during the process because they may also play a part in distortions.

    Not Loud enough/Too loud? Many feel that my Quality settings on Faux Sound version are too quiet. There is an easy fix for that. Change the settings and make them loud. Franco has been said to be too loud on my kernel. There is also and easy fix for that change the settings and lower the volume levels.

    Audio Clipping? I never have audio clipping. I almost blew my speakers testing things out to see if I could get audio clipping to happen for me but alas I could not. My guess is your issues are that if you are using Franco sound you have boosted kernel volume levels too high and need to back off. If you are running Faux Sound same thing applies (although default should settings should not have that issue). I had weird audio distortions while running Poweramp a while ago and switched to a simpler app called NexMusic and haven't had any issues with that light little player ever since. Also please make sure to use an AOSP ROM for testing sound. Some hybrids or Caf-based with CAF-AOSP patches may not have sound working properly due to the mixing and matching of CAF and AOSP.

    Audio Patches? I currently have all Franco and all Faux audio patches. I watch them like a hawk so rest assured audio issues are not because I'm behind or out-of-date. It may be the drivers can't handle bleeding edge toolchains or optimizations....


    Random Reboots

    Overview: The only RRs I have ever experienced on this kernel were from changes I made to the test branch which I revert shortly thereafter. I realize it is unfair to many of you because I tailor everything to my phone specifically and not all devices are created equal. I noticed lately Neobuddy bumped up voltages to prevent some RRs for some users. I've also considering doing something like that but I feel like that would be catering to the minority when the majority have no issues with the current UBER setup.

    Undervolting: This does have a good purpose which is to reduce heat during video gaming. As far as battery life goes let's just say I never undervolt and can still get PLENTY of hours out of my phone between charges. My test show results are negligeable. If you have RRs please consider bumping up your voltages to +25 like Neobuddy did for his users.

    Reboot before unlock: I've never experienced this although it's been reported but never with a log for months now. Please follow Post #2 and go through that to learn how to generate a logcat.

    Misc

    Older UBER Kernel versions are Better? There have been rumors circulating that older UBER versions (ie 7/29) are better for both battery and performance. I disagree with this idea here is why: 1) With the latest I2C drop my battery increased by 33% and I've never been happier 2) With the introduction of uber.cfg (Anything after 7/29) I decided to make use of some values never used before in the kernel. One of which was the drop cache values. Previously we used the default stock values of 0. Now we have moved to the value of 3. If you read that section in the UBER config you'll start to understand that performance is better with the value of 3 because it causes apps to rebuild their caches based on usage. Unfortunately, this initially drains battery and slows down your phone as you open your apps and it rebuilds everything. This gives some of you the illusion that the new update is "not as fast" or "not as battery friendly" as the previous version. You'll really see the lag on opening apps while using ART because ART takes longer to rebuild caches (as I'm sure you are aware) This is why Facebook takes a minute or so to open after clean install on latest UBER but later opens faster than it ever has before. I'm giving you this explanation so you won't panic when things are slow right after upgrade. After every kernel update I go through and open my apps one by one to ensure that when I need them the caches are rebuilt and ready to go. If you disagree with what I've done here you can change the value from 3 back 0 and it won't hurt my feelings. I'm only trying to help you have your apps open faster and run better.

    Color profiles? The idea with using your own color profile in the kernel was so you could use display control by Franco or whatever other display color control app to generate a config like so:

    0 12 19 30 39 48 56 72 83 105 118 126 121 114 109 102 93 73 63 54 40 33 20
    0 12 19 30 39 48 56 72 83 105 118 130 121 115 114 102 82 76 63 54 40 33 20
    0 12 19 30 39 54 61 78 84 107 123 132 117 110 108 97 90 71 61 52 45 37 21
    0 12 19 30 39 54 61 78 84 107 121 130 119 112 107 99 76 72 57 50 45 37 21
    0 12 19 30 39 48 56 72 83 105 121 126 119 112 107 99 91 71 63 53 44 36 22
    0 12 19 30 39 48 56 72 83 105 121 134 119 113 110 98 78 72 59 50 44 36 22
    32


    The lines repesent colors as follows: (Notice 7 lines above and 7 below in the same order)

    Blue Negative
    Blue Positive
    Green Negative
    Green Positive
    Red Negative
    Red Positive
    White Point


    After you generate your preferred color profile using an app (because it is easier) you could copy it and rename it to uber_color_v1.3.cfg place it on your sdcard and change the color profile number to 2 for custom color profile.


    Logcats: Bottom line is if I don't get a logcat it never happened (like the tree in the forest analogy) Please read Post #2 completely so you are aware of everything you need to know. :)


    Dev Host wouldn't let me upload unfortunately so there is no mirror today. I'll try to rebuild again this weekend so there were be a mirror again.


    Anyhow,

    Enjoy the updates!



    Link

    ONLY HERE TODAY: http://uber.oceighty.co/HAMMERHEAD/UBER/



    Cheers!

    Cl3Kener


    Kernel Changelog
    Code:
    f56c6e6 mm: do not sleep in balance_pgdat if there's no i/o congestion
    a475053 mm: vmscan: If kswapd has been running too long, allow it to sleep
    4a1c0fb qseecom: change the number of bytes to compare app names
    4d96bdf Revert "Revert "qseecom: Add support to handle multiple app load & unload""
    ad10c70 ARM: fix user unalignment prefetch abort
    2a123bf ARM: gic: Bring inline with upstream
    8f79e89 cpuidle: check for need_resched() after the idle entry trace event
    47562b3 ARM: bitops: prefetch the destination word for write prior to strex
    032c069 arm: hammerhead: gpiomux: Pull down the UART suspend gpio
    3bff5ea mmc: core: Avoid infinite retries of failed mmc command
    4a5eb98 net: wireless: bcmdhd: Disable OOB interrupt when WLAN is off
    4451fa4 F2FS: Update Inode Compatibility
    27fe796 Fixup Exfat
    22a7e38 vfs: Rename end_writeback() to clear_inode()
    e257d3e cgroup: fix exit() vs rmdir() race
    5825fed msm: Create shadow files under /sys/kernel/ipv4
    e1a95bb WLAN subsystem: Sysctl support for key TCP/IP parameters
    608f40c SELinux: possible NULL deref in context_struct_to_string
    117968d SELinux: use ARRAY_SIZE
    14dea71 SELinux: Reduce overhead of mls_level_isvalid() function call
    b13e35c i2c-qup: Verify that mem resource exists prior to redirection
    a91fe78 Sound Control: add line gain to cached and register lock
    53
    Update - Novermber 17, 2014

    November 17th, 2014

    Well I've finally figured out a fix for those of you experiencing screen freezes. Kernels from today should work for you.

    I've also spent several hours merging 5000+ commits from kernel.org bringing this kernel back to version 3.4.104. I also did a full kernel rebase on the 3.4.104 base. You can find my stock fused with kernel.org branch here: https://github.com/Cl3Kener/UBER-L/commits/merged. I went commit by commit to ensure proper merging of all updates. There were many fixes/improvements relevant to this device (although there were also many for other devices that were not relevant to us at all). Kernel.org really is a mixed bag but it's worth ensuring we have the latest improvements, security patches, etc.

    Speaking of kernel.org: There seems to be some sort of negative stigma regarding 3.4.y kernel updates. I've noticed kernel developers and users alike spread false information about kernels that use kernel.org updates as "not as stable" or "bleeding edge - beware!." Both of these notions are FALSE. Every release from kernel.org is considered stable. Here is an example of a post from Greg KH on the subject of 3.4.100 saying this is a "stable review cycle" http://www.gossamer-threads.com/lists/linux/kernel/1976438. All kernel.org updates undergo a review process and are safe to merge and use. If you see anyone posting anything about these updates being "not stable" please kindly correct them and help combat the false information circulating forums.

    In this update I've also updated uber.cfg files to be a bit more stable (although you'll notice a slight reduction in performance due to the nature of these changes you'll need to reenable some of the memory optimizations yourself under section 9 of the cfg) I've removed functions no longer supported and added a couple more. Some of the most notable changes were 1) I removed frandom support (doesn't work for Lollipop), I removed backlight dimmer (use adaptive brightness instead), I added arch power toggle, I added a gentle fair sleepers toggle, I changed Drop_Caches values back to 0 (since the value of 3 agressively dropped all caches which take longer to rebuild in ART so it causes lag initially when you open apps although performance is great after you get past the lag) I changed FS_DELAY value to 0 just to ensure there would be no data loss caused by this feature while we are still in the testing phase of Lollipop (I may revert this change later).

    Just so we are on the same page these are all of the features that made the 3.4.104 rebase:

    Features In Release Today:

    * 3.4.104 from Kernel.org
    * MultiROM Compatible (has Kexec patch)
    * CPU Governors added: Intellidemand, Intelliactive, Adaptive, Lionheart, AbyssplugV2, Ondemandplus, Badass, Wheatley, Hyper, Lazy, PegasusQ, Nightmare, DanceDance, Darkness, Slim, Optimax. and Uberdemand
    * GPU Governors: Performance, Ondemand, and Interactive (Franco)
    * IO Schedulers: Noop, Deadline, VR, SIO, ROW, CFQ, BFQ, FIOPS, FIFO, ZEN and Tripndroid
    * Snapdragon & CortexA15 optimizations
    * Non-Stock Hotplug and Thermal regulator (from showp1984)
    * Touch Boost - Showp1984 (comes with hotplug)
    * GPU OverClock up to 650 MHz (27 MHz is still default idle with lowest frequency being underclocked to 100 MHz) (Cl3Kener)
    * Allow CPU OverClock up to 3.0 Ghz (Cl3Kener)
    * Allow CPU UnderClock to 96Mhz (showp1984 implementation)
    * L2 Cache OverClock (flar2)
    * Ramdisk Edits on the fly for greater compatibility. (Strongly based on Showp1984 implement)
    * Undervolting Control (Franco)
    * LZ4 support implemented kernel wide - fastest compression/decompression available (Cl3Kener)
    * XZ Compression to latest 3.17.y (Cl3Kener)
    * KSM (Kernel Samepage Merging)
    * Faux Sound (Faux123)
    * Sweep2Wake, Double Tap 2 Wake (Showp1984 with Faux123 verticle s2w support and flar2 dt2w enhancements)
    * Powerkey suspend for S2W/DT2W (Flar2 version)
    * Wake timeout for S2W/DT2W (Flar2)
    * Dynamic and Asynchronous Fsync (Faux123)
    * USB Fast Charge with many voltage options (Faux123)
    * Gamma Control (Various Contributers)
    * Color Control (savoca)
    * Fstrim (reduces lag see more: http://man7.org/linux/man-pages/man8/fstrim.8.html)
    * ExFat Support (you'll need to load it via this init.d https://www.dropbox.com/s/tfm8k9vmskuhs4v/loadexfat) Updated to latest version (Neobuddy)
    * Low Memory Killer - Many patches from Neobuddy
    * Zram support upstreamed to 3.17.y branch (Cl3Kener)
    * Zram supports lz4 compression now (kernel.org)
    * Zcache, and Cleancache support updated to 3.14.y (Cl3Kener)
    * BLX - Battery Life Extender (See here http://forum.xda-developers.com/nexus-s/development/mod-battery-life-extender-blx-t1257497) Ported by Ayysir to msm8974 devices
    * F2FS file system support from Samsung
    * Mount internal storage as CDROM (Frozen Cow)
    * Advanced TCP Congestion Options (Veno as default, all 12 from http://kernel.org)
    * Stereo Call Recording Support
    * Uber.cfg for tuning kernel thanks to @janres155 & @Williamsss

    I hope you enjoy the changelog today. Grand total of commits handpicked by me in the last 24 hours was 5442!!!

    Enjoy the new UBER Lollipop Kernel Rebase!!!

    Cheers!

    Cl3Kener



    Links

    Main: http://uber.oceighty.co/HAMMERHEAD/UBER-L/

    Mirror: https://s.basketbuild.com/devs/Cl3Kener/HAMMERHEAD/UBER-L/




    Kernel Changelog

    http://hastebin.com/uwiqogasis.dos

    (Much too long for XDA character limits)