I know I said I won't post about this anymore, but everybody lies.
From V20 we have new interesting things that are worth mentioning in a special blog post.
I kind of changed the base of the kernel. It's still franco-ish, but with a little cherry-picking from there and a little from here, and from there also.
I will try to make a complete list of features enabled and active in this kernel:
- min default CPU freq: 300MHz
- max default CPU freq: 2.26GHz
- overclock possibility up to 3.01GHz, with the following freq steps: 2.4GHz, 2.72GHz, 2.80GHz, 2.88GHz
- CPU under/overvolting possibility
- default CPU governor: blu_active (the same one which Code Blue kernel uses)
- available CPU governors: ondemand, interactive (the one from franco's original work) and performance
- hotplug: blu_plug (the same one which Code Blue kernel uses). I've changed from mako_hotplug to this one.
- hotplug special tunables: powersave mode, min/max CPUs online, max CPUs online when screen is off, max freq when screen is off
- I/O readahead size: 512KB
- I/O default schedueler: BFQ v7r5
- available I/O scheduelers: noop, deadline, row, cfq, zen
- dynamic fsync. When screen is on, file syncing is disabled. Once you turn off the screen, sync will be enabled
- GPU min/max 200/450MHz
- GPU default governor: interactive
- GPU available governors: ondemand, performance
- color profiles. Based on franco, works with FKU or Nexus Display Control app.
- franco sound
- high performance mode sound driver, enabled by default
- various memory improvements. This doesn't mean less consumed RAM, also free RAM is wasted RAM for linux. Also, read this: http://www.linuxatemyram.com/
- fast charge from faux123. This enables a custom mode where you can input your maximum input amperage, from 500mAh to 2000mAh, with the following steps: 500mAh, 900mAh, 1200mAh, 1500mAh, 2000mAh. I don't recommend setting anything more than 1200mAh.
KSM: Kernel Samepage Merging.
KSM merges memory pages from one app with another app, thus only loading one memory page, not two pages that are the same.
Let's say that app A has the page X loaded in memory. Let's say that app B loads pages X and Y in memory. KSM detects that and points app B to the memory address from page X loaded by app A. In the end we have this:
B: X, Y
Total: X, X, Y
B: ^, Y
Total: X, Y
the famous I2C @ 19.2MHz
- HTCP as default TCP congestion control. (I personally don't see any differences between different TCP Congestion Control algorithms)
- other TCPCC available: reno, bic, cubic (I used this in DD-WRT), westwood (they say it's good for wireless/3G/4G devices), highspeed, hybla, vegas, veno, scalable, lp, yeah, illinois. (I will get rid of 90% of this, since I'm 100% sure that 99% of the Internet users don't even know what these are.) (https://github.com/StefanescuCristian/hammerhead/commit/2c8947b6403074d6c272a1b01076d55e2dd08ac1)
- compilled with latest Linaro GCC (4.9.2)
- I probably forgot somethings