[Experience][Share]My Usage and Testing of Custom kernels for Touchwiz Kitkat.

Which Kernel Has suited you the best?

  • Stock Kernel

    Votes: 8 13.8%
  • Phoenix Kernel

    Votes: 3 5.2%
  • AGNI Kernel

    Votes: 39 67.2%
  • Nadia Kernel

    Votes: 8 13.8%

  • Total voters
    58
Search This thread

KNIGHT97

Senior Member
Jan 30, 2014
2,111
1,635
Mumbai
To the moderators : I am making this thread on the request of members and not trying to promote any rom or kernel.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------​

To all the readers : This is just a sharing of Experience of mine, not to be mistaken as a thread for promoting any kernel or rom. Also, all the posts asking which is the best rom/kernel or saying that this kernel is the best and recommending someone just because you like it, shall be reported to the moderators. So be careful of what you post. Also, don't spam the thread by writing just thank you, thanks etc. there is button on the left bottom of each post for that purpose.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------​

Post 1 : General discussion of experience, crashes etc.
Post 2 : Link to the kernels
Post 3 : FAQ(to me :p)
Post 4 : Important Must Read stuff.

[size=+2]The Beginning[/size]

After much waiting and ETA posts by users, when DN3 v5+ was launched, it was met with quite some positive reviews, and being a loyal user to that rom since v2(why, you ask. It's because I like stock like looks that come with my phone, but under the hood optimizations and available customizability and features).
And just in time, Samsung had released the kernel sources for Touchwiz kitkat, so everyone including me were waiting for a good custom kernel, which would allow us to tweak our device to a further extent. During some random discussion @singhpratik87 informed me about an upcoming custom kernel called Nadia kernel, which was made by a small group of devs and modders calling themselves as EmoTdroiD Team.
So, as experiment hungry scientist for my device I am, I went ahead and flashed it. After just some time, I saw that it wasn't yet fully mature and still under construction, although it gave me a good amount of tweaking with the Trickster Mod and a usable battery life, so I went on to search for other kernels too, which would be satisfying my needs, and I found AGNI and Phoenix kernel compatible with my device and rom.

When I started using those, I noticed that many users wanted to know of a good custom kernel they could use, and thus kept spamming different threads asking questions, so I got an idea that I will test the kernel thoroughly and do a proper writeup, so users can be better informed of their needs.

[size=+2]The testing begins[/size]

As I had to begin the test and be thorough with everything I quickly bookmarked some guides to reading a logcat, downloaded tools on PC to capture logcats from boot to shut-down, downloaded each and every kernel and recommended fixes(if any).
I thought of beginning with my stock kernel, since it is the one deemed as the most stable. I got a good battery life but not the advanced tweaking. So, at first I decided to test the most near to stock phoenix kernel, which doesn't have much customisability but is quite stable(for me) for my daily use, but I always have wanted advanced tweaking, so I decided to go for the highly acclaimed AGNI kernel, followed by the under development Nadia kernel.

[size=+2]Stock kernel and Phoenix kernel[/size]

Obviously a starting point for testing the rom itself, I started with the stock kernel. My governor for all the time was pegasusq due to it being optimized properly for multicore systems, but I realized that my music used to have a bit of stutters every 15-20 seconds, so I read and read and found the cause, which you can find on the 31st page of the Nadia Kernel thread(don't be lazy, search for it, I have at least provided the link for the thread :p), so I set up profiles suing Xposed module performance profiles and had the switch to ondemand governor whenever I wanted to listen to music, and that made for a smooth experience for me.
As the technology on device gets faster and better, there is one thing we crave for - battery life. Although I got 5 and half hours screen time with 24 hours sage on stock, I still wanted more, seeing that people managed to get upto 7hrs screen time with that usage(I don't know whether they listened to music for at least an hour everyday, though). What can be the best way for getting a better battery life? Underclock? not any way, I want my device to perform to it's full potential rather than be a super sluggish long lasting one. Any more guesses? Undervolting, you say? Yes, that's just what I needed, CPU/GPU undervolting and better control on the governors and LMK(low memory killer).

[size=+2]Reading, Researching, Writing and considerations of various possibilities[/size]

Many of the users who have known me from the time I've joined XDA know that I'm of the kind who is willing to spend his time in reading and solving problems on his own, rather than ask questions repeatedly, so that's what I did again - start reading :cyclops:
I read about the problems faced, questions asked, solutions provided, suggestions given and the proper changelog and FAQs for the kernels.
I researched about how users feel with a kernel, I saw their comments on the threads, I read about their problems faced, their attitude towards the developers and fellow members(which can turn out to be a bit-off when someone is unable to find a solution and gets frustrated) and what they have done to obtain something or how they managed to correct their problems.
Now, after compiling all the things I read and researched about into a small 30+ page word document I wrote to myself, it was time for me to flash a good custom kernel.
Again, which do I go for first? I had to spend my time thinking about the possibilities taking place and the issues I read about :
1) AGNI had some problems with downloading of some apps(Fixed now, but was present when I had to test).
2) AGNI doesn't play well with folder-mount(Dev is working on fix).
3) Nadia gave a bootloop when flashed over AGNI ( as reported by @NickVXD).
4) Some users lost root access when flashing Nadia(Rare and fixed in latest R4).
5) Nadia uses Trickster Mod and thus doesn't provide a full fledged GUI for tweaking the parameters( Dev plans to integrate the best app for this, Synapse, in a bit of time).

[size=+2]It begins with AGNI[/size]

After much thinking, I decided to go for AGNI first, because a bootloop and lost root aren't a big issue for me, as I always keep the fixes with me and know how to recover from these small issues.
I made a nandroid backup, in case for a bootloop, flashed the kernel and wiped cache and dalvik cache and rebooted and I was greeted with my lockscreen(yes it booted successfully) and AGNI control app in my app drawer. I began my testing for the lower clocks, conservatively ramping governors, high undervolts( my device can bear upto -80 on CPU and -75 on GPU while still being stable) and lower GPU clocks, because the first thing I wanted was battery life and indeed I got it.
Then, since I was at home only for a long time(many know why) and had thge charging port next to me(lucky me :D ) so I decided to give a try to other settings as well. The first thing I wanted for my device was a good read speed for my internal and external SD, so I benchmarked and logged performance for each scheduler over an extensive period of time and found Row suited my needs, because I don't write lots of stuff onto my device's memory, but rather need higher priority for reading of the already present memory blocks.
I tested with different governors now and the name of each is self explanatory so I won't tell which gave me the best battery life or performance. Anyways, I tested the smoothness, battery life, framerate in general use to heavy games, device temperature and noted down each and every value thoroughly.
I benchmarked the SD card read write with different cache sizes and noted down each value.
I tested different LMK minfree values and wrote down the results to myself.
I tested the power saving load balance for performance to battery ratio and wrote down the results thoroughly.
I used the 512mb preloadSWAP and checked and wrote down it's results.
I tested the LZ4 ram with different values and wrote down my results. Did the same for Swappiness priorities, and FRandom RNG entropy generator.
I checked the effects of Dynamic file sync and filesystems checking on boot and again, wrote down.

[size=+2]Shifting to Nadia[/size]

I was done with all the possible combinations of settings with AGNI and now it was time for Nadia kernel. I had been active at the thread for quite some time, helping users and even requesting features.
I read some complaints about lost root and bootloop if used after AGNI, and indeed I got a bootloop once, but naturally, as I am not of the types who would just go ahead for anything, I kept a nandroid backup just before flashing, and then I restored my backup, and some user mentioned using the AGNI script cleaning tool for driving away the issues, so I downloaded that and read through the updated script, and then after I was done I decided that I trust my own experienced hands rather than automated tools, so I removed the required init.d scripts from /system/etc/inti.d (Be careful not to remove 00test and 99superSU daemon, as these are needed for proper functioning of root rights).
After I was done, I flashed the kernel, but a bootloop again :rolleyes: , silly me realized that I forgot to wipe cache and dalvik cache, which actually I understood from the logcat, so I went to recovery and did that and my phone was up.
After all was up I opened Trickster Mod and went on to customize my kernel and test different settings.
I did the tests with the available settings and wrote down the results like I had done before.
Contrary to as some users had mentioned, I didn't experience lost root, so all was fine for me, and after the R4 release of the kernel some days ago, no one has complained of any such error.

[size=+2] Finalizing [/size]

After I was done with my thorough testing, capturing logcats on hourly basis and for each system crash or reboot(rare) and compiling of a 60-page word document for each kernel's testing(except for stock and phoenix, which gave me no more than 15 pages :silly: ) it was time for me to report everything, as I had promised to various users.
I read through my writings, preserved logcats and memories and collected everything to write up and express this testing in the best manner I could manage(I usually turn out to be short tempered and rude, so it was another challenge for me).
I also had to decide which kernel to keep for my daily driver(I won't report that here, and neither will answer it via PM, though there are exceptions for the PM one, maybe @smeet.somaiya and @singhpratik87, because I trust them for this and I and they both know why).




[size=+2]And this small article is the outcome of all what I had done over the course of the time I had spent[/size]
 
Last edited:

KNIGHT97

Senior Member
Jan 30, 2014
2,111
1,635
Mumbai
FAQ

How did the testing take so long time?
Yes I agree that I took a lot of time, the kernels had a lot of settings to explore, but most of it could be done quite quickly and the results logged down, but the main delay was caused due to problems with my lower back which I had in the month of may, some emotional issues also strayed me away from this motive, so I apologize for any delay and to keep you guys waiting.

May I know your settings and any results/logs you have written to yourself?
A big NO. It is because the usage pattern and requirement for each of us is quite different and it can be that my settings give you a worse battery life. Also, I won't show those logs/notes to anyone no matter how good friend/relative/pet/neighbour/acquaintance he/she is because those are results for me, and is can also be that your device can take higher or lower undervolting as compared to me.

Any suggestion to which kernel I should use for getting this/that?
Again, NO. I won't entertain these kind of questions or spam on this thread, and while none have seen it yet, I am stricter than a moderator with the rules of this forum and any post relating to asking or suggesting a kernel to someone shall be instantly reported to a moderator and I want the readers here to follow this behaviour too.

I have this/that issue with this kernel, any help?
Post this in the respective kernel's thread and you'll get a much better and quicker reply, though I may occasionally feel like reply too, if you get lucky(but don't try to by spamming the thread, else instead of you post I will report your profile itself).

You haven't mentioned your battery life in any post :rolleyes:
Yes, I forgot.
Anyways, Have a look at these screenshots.
Total battery time
Time I listened to music on my battery test days
Screen time

Note : I listened to music for only 1 hour, by setting up a timer, because this provided the ideal conditions for possible calculations of total time I can get on the battery. Also, my battery is quite old(not replaced or checked even once since I bought the device on the 2nd day of launch in India)

I need better battery life/ this feature/ that feature, so what kernel do you suggest me?
I can't suggest anything. There are no best kernels, you'll have to check about which one satisfies your needs and is stable too(remember read, read and read thoroughly and be patient).

I tried undervolting but my device gets unstable even on small values or doesn't respond to voltage change and continues to use stock voltages :rolleyes:
Nearly forgot that one.
Use this Xposed module to disable the touchwiz DVFS, which has the highest priority for voltage and frequency settings, even more than the kernel, and causes more problems than fixes.
 
Last edited:

KNIGHT97

Senior Member
Jan 30, 2014
2,111
1,635
Mumbai
Important Notes

Battery life on stock kernel and Phoenix kernel was some, but with just half an hour less of screen time than the one I have shown in my screenshots.

The difference of battery life between was just of 12 seconds between AGNI and Nadia, so what are you going to do in those 12 seconds? Type Nuclear launch codes?

There were some random reboots, shutdowns on both AGNI and Nadia, but extremely rare and because I undervolted too much, both are equally stable for their current stage.

If you are going to post a reply here, post something worth reading, no spam.

Got a suggestion for me, which you think I might not be knowing? I appreciate you posting it here, will try to consider it gladly :eek:

There are to be no suggestions given to users for switching kernels just because you use it and like it, I will report that post at the instant I see it.

Don't worry about me being super strict with all this, usually I'm quite soft to everyone and would be willing to help without any hesitation, but don't want unnecessary spam here, neither do I want any fights for which a moderator has to kick in and do the cleanup and also serve you with a warning which you won't like to see.
 
Last edited:

resudo

Senior Member
Nov 16, 2012
2,121
790
Thessaloniki
Thank you for the time you spent on this.

EDIT : Just read through the whole thing. Great guide(?) indeed. It helped me make better choices regarding kernel settings.
 
Last edited:
  • Like
Reactions: KNIGHT97

KNIGHT97

Senior Member
Jan 30, 2014
2,111
1,635
Mumbai
nice writeup..
i lack patience for such research as i get no mental energy remaining after development

Sent from F2FS FORMATED I9300 Temasek CM11 Unofficial v98 (4.4.3) + AGNi pureCM v2.8.0 kernel
Thanks
And I have tried making some small mods/these and I know it's really tiring for the brain to have everything done correctly and make sure that users are happy.

Sent from my RPG with auto targeting
 

keysikasuy

Senior Member
Oct 16, 2013
889
138
Nice thread mate. It really showed that it needed a lot of time and patience to know your best setting to optimize your phone depending the usage. This inspires me not to just stick on a single thing but to take the risk and explore for the other things. Again, thanks you mate. Now I may go and explore my own settings. Cheers!!!!

Sent from my SM-G900F using Tapatalk
 
  • Like
Reactions: KNIGHT97

amit.dhatrak95

Senior Member
May 11, 2013
178
6
i posted thanks by mistake, i edited it
but how can i delete my post ?
Sent by my AWP #Unzoom

---------- Post added at 07:56 AM ---------- Previous post was at 07:45 AM ----------

what does undervolting do ?
Sent by my AWP #Unzoom
 
Last edited:

KNIGHT97

Senior Member
Jan 30, 2014
2,111
1,635
Mumbai
i posted thanks by mistake, i edited it
but how can i delete my post ?
Sent by my AWP #Unzoom

---------- Post added at 07:56 AM ---------- Previous post was at 07:45 AM ----------

what does undervolting do ?
Sent by my AWP #Unzoom
Don't worry if you did it by mistake.
And undervolting means controlling of voltages and reducing the power requirement per clock.

Sent from my RPG with auto targeting
 
  • Like
Reactions: amit.dhatrak95

smeet.somaiya

Senior Member
Jan 24, 2014
1,305
590
Mumbai
@KNIGHT97
Last month I accidentally undervolted my cpu to -100mv
That caused my phone to freeze. I rebooted it. It booted fine but freezed at the lockscreen after boot.
So I decided that I should flash the agni-oc-uv-reset.zip which is saved in your sdcard as soon as you flash agni kernel. But that zip failed to flash. I tried with philz, twrp both.
What could be the reason?

Sent from my GT-N7100 using Tapatalk
 

KNIGHT97

Senior Member
Jan 30, 2014
2,111
1,635
Mumbai
@KNIGHT97
Last month I accidentally undervolted my cpu to -100mv
That caused my phone to freeze. I rebooted it. It booted fine but freezed at the lockscreen after boot.
So I decided that I should flash the agni-oc-uv-reset.zip which is saved in your sdcard as soon as you flash agni kernel. But that zip failed to flash. I tried with philz, twrp both.
What could be the reason?

Sent from my GT-N7100 using Tapatalk

High undervolting has led to freezes that you have figured out. But zip failing to flash? I can't seem to comment on that, becuase I don't know about that issue, was that something like status 6/7 or bad zip error?

Sent from my RPG with auto targeting
 

smeet.somaiya

Senior Member
Jan 24, 2014
1,305
590
Mumbai
High undervolting has led to freezes that you have figured out. But zip failing to flash? I can't seem to comment on that, becuase I don't know about that issue, was that something like status 6/7 or bad zip error?

Sent from my RPG with auto targeting
Yeah. forgot to mention. status 7 it said. Error executing update-binary.
Flashed stock kernel then and everything was fine.
After that I went on to check the zip file. And shockingly it was of 0 bytes.
So I think there was some error in extracting that zip while flashing agni kernel.
Anyways that has been fixed in the latest version. Was just informing you☺

Sent from my GT-N7100 using Tapatalk
 

KNIGHT97

Senior Member
Jan 30, 2014
2,111
1,635
Mumbai
Yeah. forgot to mention. status 7 it said. Error executing update-binary.
Flashed stock kernel then and everything was fine.
After that I went on to check the zip file. And shockingly it was of 0 bytes.
So I think there was some error in extracting that zip while flashing agni kernel.
Anyways that has been fixed in the latest version. Was just informing you☺

Sent from my GT-N7100 using Tapatalk
Yea, I saw the earluer ones just now, seems to be an typo in updater script which caused status 7 error.
But yes, glad that its fixed now.

Sent from my RPG with auto targeting
 

smeet.somaiya

Senior Member
Jan 24, 2014
1,305
590
Mumbai
Yea, I saw the earluer ones just now, seems to be an typo in updater script which caused status 7 error.
But yes, glad that its fixed now.

Sent from my RPG with auto targeting
What typo was it?
And yeah one more thing, kindly let me know what does Frandom rng to? It uses random entropy generator but can't figure out what it is exactly☺

Sent from my GT-N7100 using Tapatalk
 

Pafcholini

Senior Member
Sep 1, 2012
1,990
6,152
Barcelona
plus.google.com
What typo was it?
And yeah one more thing, kindly let me know what does Frandom rng to? It uses random entropy generator but can't figure out what it is exactly☺

Sent from my GT-N7100 using Tapatalk
Frandom is a Linux kernel random number generator, which is 10-50 times faster than what you get from Linux' built-in /dev/urandom. And it uses very little (/dev/frandom) or none (/dev/erandom) of the kernel's entropy pool, so it is very useful for applications that require a handy source for lots of random data.

Its most common use seems to be wiping large hard disks with random data before encryption

here you have the link for more info: http://billauer.co.il/frandom.html

Enviado desde mi GT-N7100 mediante Tapatalk
 

KNIGHT97

Senior Member
Jan 30, 2014
2,111
1,635
Mumbai
What typo was it?
And yeah one more thing, kindly let me know what does Frandom rng to? It uses random entropy generator but can't figure out what it is exactly☺

Sent from my GT-N7100 using Tapatalk
I couldn't figure put the typo, but that's the most probable problem for status 7 error.
And your answer for Frandom RNG is already answered below ;)
Frandom is a Linux kernel random number generator, which is 10-50 times faster than what you get from Linux' built-in /dev/urandom. And it uses very little (/dev/frandom) or none (/dev/erandom) of the kernel's entropy pool, so it is very useful for applications that require a handy source for lots of random data.

Its most common use seems to be wiping large hard disks with random data before encryption

here you have the link for more info: http://billauer.co.il/frandom.html

Enviado desde mi GT-N7100 mediante Tapatalk
So if the kernel has in impact on memory, would it be possible to allocate the data into random blocks onto the memory, both internal and external, just like it is on 64-bit. Intel has managed a 64-bit kernel so maybe you can look at that to get some idea about it.
Or is this thing completely 64-bit only?

Sent from my RPG with auto targeting
 

smeet.somaiya

Senior Member
Jan 24, 2014
1,305
590
Mumbai
So if the kernel has in impact on memory, would it be possible to allocate the data into random blocks onto the memory, both internal and external, just like it is on 64-bit. Intel has managed a 64-bit kernel so maybe you can look at that to get some idea about it.
Or is this thing completely 64-bit only?

Sent from my RPG with auto targeting

Didn't even get a single word of what you said. My knowledge on memory allocating is limited. I always make mistakes in sums related to memory mapping in my microprocessor exams??

Sent from my GT-N7100 using Tapatalk

---------- Post added at 11:59 AM ---------- Previous post was at 11:57 AM ----------

Frandom is a Linux kernel random number generator, which is 10-50 times faster than what you get from Linux' built-in /dev/urandom. And it uses very little (/dev/frandom) or none (/dev/erandom) of the kernel's entropy pool, so it is very useful for applications that require a handy source for lots of random data.

Its most common use seems to be wiping large hard disks with random data before encryption

here you have the link for more info: http://billauer.co.il/frandom.html

Enviado desde mi GT-N7100 mediante Tapatalk
Okay. Got what you mean. But what is its application on a phone with limited memory?

Sent from my GT-N7100 using Tapatalk

---------- Post added at 12:03 PM ---------- Previous post was at 11:59 AM ----------

@KNIGHT97
What I meant to say is please elaborate. Don't mind was just kidding☺

Sent from my GT-N7100 using Tapatalk
 

yogesh324

Senior Member
Jul 29, 2010
471
138
Pune
Didn't even get a single word of what you said. My knowledge on memory allocating is limited. I always make mistakes in sums related to memory mapping in my microprocessor exams??

Sent from my GT-N7100 using Tapatalk

---------- Post added at 11:59 AM ---------- Previous post was at 11:57 AM ----------


Okay. Got what you mean. But what is its application on a phone with limited memory?

Sent from my GT-N7100 using Tapatalk

---------- Post added at 12:03 PM ---------- Previous post was at 11:59 AM ----------

@KNIGHT97
What I meant to say is please elaborate. Don't mind was just kidding☺

Sent from my GT-N7100 using Tapatalk

hi do you know how can I enable frandom in nadia kernel
 

Top Liked Posts

  • There are no posts matching your filters.
  • 24
    To the moderators : I am making this thread on the request of members and not trying to promote any rom or kernel.

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------​

    To all the readers : This is just a sharing of Experience of mine, not to be mistaken as a thread for promoting any kernel or rom. Also, all the posts asking which is the best rom/kernel or saying that this kernel is the best and recommending someone just because you like it, shall be reported to the moderators. So be careful of what you post. Also, don't spam the thread by writing just thank you, thanks etc. there is button on the left bottom of each post for that purpose.

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------​

    Post 1 : General discussion of experience, crashes etc.
    Post 2 : Link to the kernels
    Post 3 : FAQ(to me :p)
    Post 4 : Important Must Read stuff.

    [size=+2]The Beginning[/size]

    After much waiting and ETA posts by users, when DN3 v5+ was launched, it was met with quite some positive reviews, and being a loyal user to that rom since v2(why, you ask. It's because I like stock like looks that come with my phone, but under the hood optimizations and available customizability and features).
    And just in time, Samsung had released the kernel sources for Touchwiz kitkat, so everyone including me were waiting for a good custom kernel, which would allow us to tweak our device to a further extent. During some random discussion @singhpratik87 informed me about an upcoming custom kernel called Nadia kernel, which was made by a small group of devs and modders calling themselves as EmoTdroiD Team.
    So, as experiment hungry scientist for my device I am, I went ahead and flashed it. After just some time, I saw that it wasn't yet fully mature and still under construction, although it gave me a good amount of tweaking with the Trickster Mod and a usable battery life, so I went on to search for other kernels too, which would be satisfying my needs, and I found AGNI and Phoenix kernel compatible with my device and rom.

    When I started using those, I noticed that many users wanted to know of a good custom kernel they could use, and thus kept spamming different threads asking questions, so I got an idea that I will test the kernel thoroughly and do a proper writeup, so users can be better informed of their needs.

    [size=+2]The testing begins[/size]

    As I had to begin the test and be thorough with everything I quickly bookmarked some guides to reading a logcat, downloaded tools on PC to capture logcats from boot to shut-down, downloaded each and every kernel and recommended fixes(if any).
    I thought of beginning with my stock kernel, since it is the one deemed as the most stable. I got a good battery life but not the advanced tweaking. So, at first I decided to test the most near to stock phoenix kernel, which doesn't have much customisability but is quite stable(for me) for my daily use, but I always have wanted advanced tweaking, so I decided to go for the highly acclaimed AGNI kernel, followed by the under development Nadia kernel.

    [size=+2]Stock kernel and Phoenix kernel[/size]

    Obviously a starting point for testing the rom itself, I started with the stock kernel. My governor for all the time was pegasusq due to it being optimized properly for multicore systems, but I realized that my music used to have a bit of stutters every 15-20 seconds, so I read and read and found the cause, which you can find on the 31st page of the Nadia Kernel thread(don't be lazy, search for it, I have at least provided the link for the thread :p), so I set up profiles suing Xposed module performance profiles and had the switch to ondemand governor whenever I wanted to listen to music, and that made for a smooth experience for me.
    As the technology on device gets faster and better, there is one thing we crave for - battery life. Although I got 5 and half hours screen time with 24 hours sage on stock, I still wanted more, seeing that people managed to get upto 7hrs screen time with that usage(I don't know whether they listened to music for at least an hour everyday, though). What can be the best way for getting a better battery life? Underclock? not any way, I want my device to perform to it's full potential rather than be a super sluggish long lasting one. Any more guesses? Undervolting, you say? Yes, that's just what I needed, CPU/GPU undervolting and better control on the governors and LMK(low memory killer).

    [size=+2]Reading, Researching, Writing and considerations of various possibilities[/size]

    Many of the users who have known me from the time I've joined XDA know that I'm of the kind who is willing to spend his time in reading and solving problems on his own, rather than ask questions repeatedly, so that's what I did again - start reading :cyclops:
    I read about the problems faced, questions asked, solutions provided, suggestions given and the proper changelog and FAQs for the kernels.
    I researched about how users feel with a kernel, I saw their comments on the threads, I read about their problems faced, their attitude towards the developers and fellow members(which can turn out to be a bit-off when someone is unable to find a solution and gets frustrated) and what they have done to obtain something or how they managed to correct their problems.
    Now, after compiling all the things I read and researched about into a small 30+ page word document I wrote to myself, it was time for me to flash a good custom kernel.
    Again, which do I go for first? I had to spend my time thinking about the possibilities taking place and the issues I read about :
    1) AGNI had some problems with downloading of some apps(Fixed now, but was present when I had to test).
    2) AGNI doesn't play well with folder-mount(Dev is working on fix).
    3) Nadia gave a bootloop when flashed over AGNI ( as reported by @NickVXD).
    4) Some users lost root access when flashing Nadia(Rare and fixed in latest R4).
    5) Nadia uses Trickster Mod and thus doesn't provide a full fledged GUI for tweaking the parameters( Dev plans to integrate the best app for this, Synapse, in a bit of time).

    [size=+2]It begins with AGNI[/size]

    After much thinking, I decided to go for AGNI first, because a bootloop and lost root aren't a big issue for me, as I always keep the fixes with me and know how to recover from these small issues.
    I made a nandroid backup, in case for a bootloop, flashed the kernel and wiped cache and dalvik cache and rebooted and I was greeted with my lockscreen(yes it booted successfully) and AGNI control app in my app drawer. I began my testing for the lower clocks, conservatively ramping governors, high undervolts( my device can bear upto -80 on CPU and -75 on GPU while still being stable) and lower GPU clocks, because the first thing I wanted was battery life and indeed I got it.
    Then, since I was at home only for a long time(many know why) and had thge charging port next to me(lucky me :D ) so I decided to give a try to other settings as well. The first thing I wanted for my device was a good read speed for my internal and external SD, so I benchmarked and logged performance for each scheduler over an extensive period of time and found Row suited my needs, because I don't write lots of stuff onto my device's memory, but rather need higher priority for reading of the already present memory blocks.
    I tested with different governors now and the name of each is self explanatory so I won't tell which gave me the best battery life or performance. Anyways, I tested the smoothness, battery life, framerate in general use to heavy games, device temperature and noted down each and every value thoroughly.
    I benchmarked the SD card read write with different cache sizes and noted down each value.
    I tested different LMK minfree values and wrote down the results to myself.
    I tested the power saving load balance for performance to battery ratio and wrote down the results thoroughly.
    I used the 512mb preloadSWAP and checked and wrote down it's results.
    I tested the LZ4 ram with different values and wrote down my results. Did the same for Swappiness priorities, and FRandom RNG entropy generator.
    I checked the effects of Dynamic file sync and filesystems checking on boot and again, wrote down.

    [size=+2]Shifting to Nadia[/size]

    I was done with all the possible combinations of settings with AGNI and now it was time for Nadia kernel. I had been active at the thread for quite some time, helping users and even requesting features.
    I read some complaints about lost root and bootloop if used after AGNI, and indeed I got a bootloop once, but naturally, as I am not of the types who would just go ahead for anything, I kept a nandroid backup just before flashing, and then I restored my backup, and some user mentioned using the AGNI script cleaning tool for driving away the issues, so I downloaded that and read through the updated script, and then after I was done I decided that I trust my own experienced hands rather than automated tools, so I removed the required init.d scripts from /system/etc/inti.d (Be careful not to remove 00test and 99superSU daemon, as these are needed for proper functioning of root rights).
    After I was done, I flashed the kernel, but a bootloop again :rolleyes: , silly me realized that I forgot to wipe cache and dalvik cache, which actually I understood from the logcat, so I went to recovery and did that and my phone was up.
    After all was up I opened Trickster Mod and went on to customize my kernel and test different settings.
    I did the tests with the available settings and wrote down the results like I had done before.
    Contrary to as some users had mentioned, I didn't experience lost root, so all was fine for me, and after the R4 release of the kernel some days ago, no one has complained of any such error.

    [size=+2] Finalizing [/size]

    After I was done with my thorough testing, capturing logcats on hourly basis and for each system crash or reboot(rare) and compiling of a 60-page word document for each kernel's testing(except for stock and phoenix, which gave me no more than 15 pages :silly: ) it was time for me to report everything, as I had promised to various users.
    I read through my writings, preserved logcats and memories and collected everything to write up and express this testing in the best manner I could manage(I usually turn out to be short tempered and rude, so it was another challenge for me).
    I also had to decide which kernel to keep for my daily driver(I won't report that here, and neither will answer it via PM, though there are exceptions for the PM one, maybe @smeet.somaiya and @singhpratik87, because I trust them for this and I and they both know why).




    [size=+2]And this small article is the outcome of all what I had done over the course of the time I had spent[/size]
    6
    Important Notes

    Battery life on stock kernel and Phoenix kernel was some, but with just half an hour less of screen time than the one I have shown in my screenshots.

    The difference of battery life between was just of 12 seconds between AGNI and Nadia, so what are you going to do in those 12 seconds? Type Nuclear launch codes?

    There were some random reboots, shutdowns on both AGNI and Nadia, but extremely rare and because I undervolted too much, both are equally stable for their current stage.

    If you are going to post a reply here, post something worth reading, no spam.

    Got a suggestion for me, which you think I might not be knowing? I appreciate you posting it here, will try to consider it gladly :eek:

    There are to be no suggestions given to users for switching kernels just because you use it and like it, I will report that post at the instant I see it.

    Don't worry about me being super strict with all this, usually I'm quite soft to everyone and would be willing to help without any hesitation, but don't want unnecessary spam here, neither do I want any fights for which a moderator has to kick in and do the cleanup and also serve you with a warning which you won't like to see.
    5
    FAQ

    How did the testing take so long time?
    Yes I agree that I took a lot of time, the kernels had a lot of settings to explore, but most of it could be done quite quickly and the results logged down, but the main delay was caused due to problems with my lower back which I had in the month of may, some emotional issues also strayed me away from this motive, so I apologize for any delay and to keep you guys waiting.

    May I know your settings and any results/logs you have written to yourself?
    A big NO. It is because the usage pattern and requirement for each of us is quite different and it can be that my settings give you a worse battery life. Also, I won't show those logs/notes to anyone no matter how good friend/relative/pet/neighbour/acquaintance he/she is because those are results for me, and is can also be that your device can take higher or lower undervolting as compared to me.

    Any suggestion to which kernel I should use for getting this/that?
    Again, NO. I won't entertain these kind of questions or spam on this thread, and while none have seen it yet, I am stricter than a moderator with the rules of this forum and any post relating to asking or suggesting a kernel to someone shall be instantly reported to a moderator and I want the readers here to follow this behaviour too.

    I have this/that issue with this kernel, any help?
    Post this in the respective kernel's thread and you'll get a much better and quicker reply, though I may occasionally feel like reply too, if you get lucky(but don't try to by spamming the thread, else instead of you post I will report your profile itself).

    You haven't mentioned your battery life in any post :rolleyes:
    Yes, I forgot.
    Anyways, Have a look at these screenshots.
    Total battery time
    Time I listened to music on my battery test days
    Screen time

    Note : I listened to music for only 1 hour, by setting up a timer, because this provided the ideal conditions for possible calculations of total time I can get on the battery. Also, my battery is quite old(not replaced or checked even once since I bought the device on the 2nd day of launch in India)

    I need better battery life/ this feature/ that feature, so what kernel do you suggest me?
    I can't suggest anything. There are no best kernels, you'll have to check about which one satisfies your needs and is stable too(remember read, read and read thoroughly and be patient).

    I tried undervolting but my device gets unstable even on small values or doesn't respond to voltage change and continues to use stock voltages :rolleyes:
    Nearly forgot that one.
    Use this Xposed module to disable the touchwiz DVFS, which has the highest priority for voltage and frequency settings, even more than the kernel, and causes more problems than fixes.
    4
    nice writeup..
    i lack patience for such research as i get no mental energy remaining after development

    Sent from F2FS FORMATED I9300 Temasek CM11 Unofficial v98 (4.4.3) + AGNi pureCM v2.8.0 kernel