[Galaxy Note 10.1 General] csec:
This is a simple STARTER GUIDE to kernel features/parameters and everything you need to know about custom kernel goodies before you consider flashing them. Now that there are a few custom kernels out there for our device, you may want to know about these.

I’d be glad if you could help me complete this guide.

First of all I’d like to thank all kernel guys who put countless hours into this to bring us the features which I am going to explain soon.

Overview:

Post 1:

A.: What you want to know about the CPU/GPU of your device

B.: Custom Kernel Features

Post 2:

Coming Soon!!!

A: What you may want to know about the CPU/GPU of your device:

Galaxy Note 10.1 features a 1.4GHz Quad Core CPU (Exynos 4412) and a 400MHz GPU (Mali-400).

More Data will be added soon.

B.1: CPU/GPU/IO Features which comes with Custom Kernels:

OC/UC (As for OverClock/UnderClock):

As you may know, CPU or any other processing unit features a clock frequency. Over/Under Clock simply means raising/decreasing the clock frequency of CPU.

Reason: Why would one need to overclock? Because one needs more processing power. For example if you want to experience smoother gameplay when playing high-graphic games.

Why would we need underclock? Higher processing power demands more battery. So underclocking helps us, reserve more battery. As for HOX, searching internet and texting don’t need much of processing power. So we can limit the processing power and save battery during low use of our device.

•Note1: OC/UC is not limited to CPU. GPU is also capable of OC/UC. And the interface for that is NOT available in the current custom kernels of Note 10.1.

•Note2: Gamers may not use GPU UC. Limiting GPU processing power impact significantly on your gaming experience.

UV (As for Undervolt):

Every frequency of a processing unit, demands a certain amount of power to be supplied. Undervolting to put it simple means decreasing the voltage of a certain frequency (or all of them).

Reason: The more voltage CPU/GPU gets, more heat will be generated. So mainly we UV to decrease the generated heat of CPU/GPU.

•Note1: One Frequency needs a certain minimum amount of voltage to perform correctly and the system be stable. Undervolting more than a certain amount of voltage will cause system instability.

•Note2: UV improves battery life by using less power. See this.

CPU Governors:

Frequency scaling is the means by which the Linux kernel dynamically adjusts the CPU frequency based on usage of the device. Governors refer to schemes which dictate to the kernel how it should do these adjustments. (From rootzwiki)

To put it simple, Governors are the way that CPU frequency is adjusted according to the demand of operating system.

Selecting a proper governor for your CPU is crucial to the performance and battery preserving of your device. For example if you are low using your device you may use a more battery friendly governor and if you want to play games you may use a more power consuming performance governor.

•Note: See Droidphile’s Great Guide about Governors to be familiar with each one of them and the ones that you should use in different situations here.

I/O Schedulers (As for Input/Output):

Input/output (I/O) scheduling is the method that computer operating systems use to decide which order block I/O operations will be submitted to storage volumes. I/O Scheduling is sometimes called 'disk scheduling'. (From Wikipedia)

To put it simple, Schedulers are the way reading and writing to the SD card is managed.

The same things that is said in the Governors part is applied here, too.

•Note: See Droidphile’s Great Guide about Schedulers here.

ReadAhead buffer size:

In terms of reading data from SD card, there is a cache which is used as a buffer. The size of that cache is readAhead buffer size. The size has a direct impact on your reading speed of your SD. So giving it a right amount is crucial.

File System “X” R/W (As for Read/Write):

Android by default doesn’t support all the File Systems (What are file systems?! See here). So some kernels may add certain file system R/W. The most popular unsupported file system is NTFS.

B.2 Features of Custom Kernels (AKA Goodies!!!):

MultiCore PowerSaving:

This feature try to group up tasks in the least cores possible. To put it simple, it will focus in using least cores for your tasks to be done. This means less cores are active and so more battery life. Also this will decrease performance.

•Note: To enable use TricksterMod app. 0 for disable and 2 for the most aggressive.

CIFS:

In order to manage your cifs/nfs network shares on your Android device you need the proper and working modules. And so you can mount/unmount your network accessible file resources and access your data.

B.3 Other Features:

Init.d Support:

There are some scripts that run every time your device boot up which are located in /etc/init.d Those are called init.d scripts. One of the most popular init.d scirpts that is available for Note 10.1 is this.

Eco Mode - NEW:

Eco Mode is an optimized dual core solution for quad-core SOC (System on Chip) like the Qualcomm S4-pro. This should allow for Maximum battery life without sacrificing performance. - Paul Reioux

TCP Congestion Control:

The choices in this section, address how the operating system kernel manages flows of information in and out of the kernel, which is at some level the "switchboard operator" of your handset. More info here.

Better to leave this options as is. Cubic or Westwood as the default of your kernel.

Dynamic FSync - NEW:

fsync is a system call in Unix/Linux. "man fsync" says:

So it's something embedded in programs after a related set of write operations to ensure that all data has been written to the storage device. The bolded part is what makes it interesting for some to disable it - "The call blocks" means the calling program waits until it's finished, and this may create lag. The downside is that if the system crashes, the data on the storage devices may be inconsistent, and you may lose data. (From here).

Dynamic FSync, makes it possible for fsync operation to be asynchronous when the screen is on, and synchronous when the screen is off. And what does asynchronous mean? Means OS issues fsync call, but not necessarily immediately at commit time for each transaction. It delays the FSync call for a certain amount of time. In case of a crash, the transactions not yet sync'ed in the last delay time before the crash may be rolled back, but the state of the data is always consistent. (From here).

zRAM:

What we need to know essentially lies here:

zRAM off = Low use data will be stored the way they are in the memory. This will cause no extra load on CPU, yet need more RAM.

zRAM on = Low use data will be stored compressed in the memory. This will cause extra load in CPU as to store or restore data, yet preserve more Free RAM.

The main use of zRAM is when you are using a heavy ROM that eats up all your RAM. This will allow multitasking to be more functional. On light ROMs, or for those who don't multitask much, this is not necessary.

Note: Also there are methods to use a part of internal memory as Swap space. This is not as fast as zRAM. But no RAM will be used at all and CPU load is less. Though I am not sure that this has been brought to our device yet. Will add more data soon on this part.

Work in progress, will add more info soon.