[Nexus S Android Development] biergaizi:
Q: Are you Dead?

A: No. But on these day, I'm do something else (learning C/Python). I will come back in some day.

This is an experimental kernel based on the latest Air kernel(v4.4). I patched and re-config the kernel for testing and/or for fun.

My patches will never ever comes into other kernels.

1. using ext4 subsystem for ext2/3.

A very funny thing is Air kernel enabled "using ext4 subsystem for ext2/3", but independent ext2 support enabled, too.

I know It is insignificant for the performance. But that makes me feel sick :( So I disabled independent ext2 support to get a smaller(0.5kb lower?) kernel.

2. using the BFS scheduler.

For small systems, the default scheduler - CFS, is a very complex things, and complex code cause a low performance in embedded systems. BFS is a simple scheduler for embedded systems. It can makes the CPU go faster. In fact, some people think it makes Android UI slower than before.

BFS is written by Con Kolivas.

For more information, you can visit Con Kolivas blog: http://ck-hack.blogspot.com/

3. UKSM

Linux kernel uses KSM to merging same pages for KVM virtual machine. Cyanogenmod modified Android, so KSM can work with Dalvik too. And we can get more RAMs. UKSM is a new project, it more powerful than KSM. It works without any modify. UKSM will scan all data in memory and merge them.

UKSM is a Chinese project, and it's still in development.

You can visit http://http://kerneldedup.org/en to learn more. But there only one page is available in English now.

Usage of UKSM: http://kerneldedup.org/en/projects/uksm/uksmdoc/usage/

4.Deadline for default I/O scheduler. (In v0.06)

CFQ cause low boot performance and missing app icons on my phone. So I set deadline for default scheduler.

WARNING: Don't use it with Jelly Bean, if you do it, your phone will unable to boot, unless you flash a Jelly Bean's kernel.

Latest version

The latest version is v0.09.

All version (included broken/buggy kernel) downloads: http://biergaizi.info/pub/

Voodoo color

It has Voodoo color only(no 65fps or blue color)

Download: http://biergaizi.info/pub/[BFS returns][Air kernel 4.4][0.09][voodoo-color].zip

65fps+Blue color

It has 65fps + blue color.

Download: http://biergaizi.info/pub/[BFS returns][Air kernel 4.4][0.09][65fps+blue].zip

Known Issue:

1.Random crashes/reboots.

Note1: I think it's a upstream issue.

Note2: Issue 1 was no longer exist in v0.06

Found a bug?

If you phone is crashed or auto-rebooted, please type this command after you first reboot:

cat /proc/last_kmsg > /sdcard/kernel_log.txt

Then you can find a file in your sdcard(usb mass storage) and its name is kernel_log.txt

Please reply and upload it for attach file, it can help me to solve the problem.

The source code is available from patches, sources on Github will remove soon:

http://biergaizi.info/pub/sources/

About the version number:

My zips' name are follow these rules:

[BFS returns][Air kernel x.x][x.x][voodoo-color]

.......^...............^.............^...........^

..Codename..Based on what...Main.....voodoo-color or

.....................version of....version....65fps+blue color

.....................Air kernel.....number

For example, [BFS returns][Air kernel 4.4][0.05][voodoo-color] is stand for:

the kernel's codename is 'BFS returns', based on Air kernel 4.4, the main version number is 0.05, and this kernel is a voodoo-color-kernel.

And I must talk about the main version number:

...x.........................xx..................x...............-...x.

...^..........................^..................^..................^

."Milestone".............times of.............small fix for.....complied version or zipped

version with major.....small changes......this release...version (changed kernel

....changes..........................................................config, version of gcc,

.........................................................................or fixed a broken zip file)

For example:

0.05 is stand for no major changes, and the fifth time of release with small changes, no small fix for it, just complied one time.