[Nexus 5 Android Development] Cl3Kener:
​

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

[YOUTUBE]DjJOGJ9RzFU [/YOUTUBE]​

​

[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

[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

* 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://xdaforums.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