Kernel explanation

Search This thread

4aces

Senior Member
Feb 16, 2010
1,614
2,669
I don't know if the answer to my question is somewhere hidden between the thousands of threats but I did try to find it before(including Google and YouTube) and would be more than happy to get a reply.

I'm using custom Kernels since the Note 2 but was never able to put more time and afford in to understand how they actually work and always used the default settings.
Now I'm trying to get some knowledge on Kernel settings and what is safe to change and what not. I'm very interested on how a Kernel works and how I can boost both battery life and/or performance as well as the basic knowledge of the Kernel settings.

At the moment I'm trying to explore with trickster mod to kinda learn by doing but I always get really bad results in testing or no big changes when I change the governor. Also I'm a little afraid in messing up my phone and therefor don't change the settings much. What I know is that the same Kernel can have different outcomes on different Note 3's so please do not post just your Kernel and settings without explanation cause I would like to find the most suited Kernel and settings for my Note.

Sooo...Some help and explanations would be more than appreciated.
 

nicholaschum

Substratum Development Leader / Inactive RT
Feb 3, 2011
6,076
13,841
University of Toronto
plus.google.com
I don't know if the answer to my question is somewhere hidden between the thousands of threats but I did try to find it before(including Google and YouTube) and would be more than happy to get a reply.

I'm using custom Kernels since the Note 2 but was never able to put more time and afford in to understand how they actually work and always used the default settings.
Now I'm trying to get some knowledge on Kernel settings and what is safe to change and what not. I'm very interested on how a Kernel works and how I can boost both battery life and/or performance as well as the basic knowledge of the Kernel settings.

At the moment I'm trying to explore with trickster mod to kinda learn by doing but I always get really bad results in testing or no big changes when I change the governor. Also I'm a little afraid in messing up my phone and therefor don't change the settings much. What I know is that the same Kernel can have different outcomes on different Note 3's so please do not post just your Kernel and settings without explanation cause I would like to find the most suited Kernel and settings for my Note.

Sooo...Some help and explanations would be more than appreciated.

I can give you a brief (easy) explanation with comparisons to try to get you to understand what a kernel is.

A kernel is your phone's driver (like a car) where it adjusts settings of the hardware and controls how each individual part interacts with each other.

There is a reason you take a car to get tuned up, and that is because a car can go berserk as there is no "maintaining force" - YOU or the person who tunes your car makes changes to the car to make sure it does not overheat, use less power per mile travelled, control how much windshield fluid is being released or how much torque force required to ensure the car does not snap XXXXXX when going at a speed of YYYYYY.

These options are beyond the manufacturer's decisions, and therefore when people flash a kernel you immediately trip KNOX (N9005). You can give your phone less power to process, more power to process (not recommended), speed up the CPU/limit the CPU, control governors on how the disk I/O (input/output) is being handled and/or control how much the phone will swap to it's virtual memory when it reaches no memory.

People think use a custom kernel! It saves you a ton of battery life!. This statement is partially wrong. You have to understand how a kernel reacts to your phone. Even though I know that lite kernels like Wootever's Custom N3 has the best battery life, this is because it has less tweaks and features that may boggle the user, and may allow for subsequent battery life extension compared to CivZ's SneakyKat or Imoseyon's LeanKernel. By inserting new tweaks into the kernel, you allow to have more "useful" features that may add to the "driver's knowledge" - Color tweaking, Fast charge over USB, CIFS support, all are extras that the kernel supports. To save power, developers remove the junk that the manufacturers added and added their own settings to make sure they get the result they would like, then they would share it to the public. However, people recommend custom kernels as they get more options when they flash it, as well as ridding of a lot of the stock settings that manufacturers love setting (default governors, lowest CPU frequency, etc)

CPU governors work by controlling how much speed is used at a given time, a good description of what each governor does is listed here: http://xdaforums.com/showthread.php?t=1736168

I/O governors (simply speaking) control how files and requests are being handled by the system, a good description of what each governors is listed here: http://xdaforums.com/showpost.php?p=23616564&postcount=4. Good way to understand this is if you learnt programming and you learnt the Stack/Queue ADTs in a programming language, it describes things better when looking at the descriptions in the link above.

Adjusting Synapse/Trickster would not get you anywhere to getting the best battery/best performance out of the phone. You will have to experiment and check which kernel is best with your phone, according to your SOC_PVS value. SOC_PVS value is how Qualcomm decides your processor's manufacturing "rank" and if you compare a low rank to a high rank, you will see that you can use less power to operate a high ranked chip compared to a low ranked counterpart. As most governors rely heavily on how the code is handled by the system, you should always go for the kernel that fits your system, and setting configurations depending on your system's likings. By following other people's configurations you risk sporadic reboots and incompatibilities, as not all phones are built the same way.

Things you should not touch if you are afraid of destroying your phone: Overvolting and Overclocking, as these may fry your device if you don't know what you are doing.

Any questions - click reply to this, or else I won't see it!
 
Last edited:
  • Like
Reactions: Fulfen and 4aces

4aces

Senior Member
Feb 16, 2010
1,614
2,669
I can give you a brief (easy) explanation with comparisons to try to get you to understand what a kernel is.

A kernel is your phone's driver (like a car) where it adjusts settings of the hardware and controls how each individual part interacts with each other.

There is a reason you take a car to get tuned up, and that is because a car can go berserk as there is no "maintaining force" - YOU or the person who tunes your car makes changes to the car to make sure it does not overheat, use less power per mile travelled, control how much windshield fluid is being released or how much torque force required to ensure the car does not snap XXXXXX when going at a speed of YYYYYY.

These options are beyond the manufacturer's decisions, and therefore when people flash a kernel you immediately trip KNOX (N9005). You can give your phone less power to process, more power to process (not recommended), speed up the CPU/limit the CPU, control governors on how the disk I/O (input/output) is being handled and/or control how much the phone will swap to it's virtual memory when it reaches no memory.

People think use a custom kernel! It saves you a ton of battery life!. This statement is partially wrong. You have to understand how a kernel reacts to your phone. Even though I know that lite kernels like Wootever's Custom N3 has the best battery life, this is because it has less tweaks and features that may boggle the user, and may allow for subsequent battery life extension compared to CivZ's SneakyKat or Imoseyon's LeanKernel. By inserting new tweaks into the kernel, you allow to have more "useful" features that may add to the "driver's knowledge" - Color tweaking, Fast charge over USB, CIFS support, all are extras that the kernel supports. To save power, developers remove the junk that the manufacturers added and added their own settings to make sure they get the result they would like, then they would share it to the public. However, people recommend custom kernels as they get more options when they flash it, as well as ridding of a lot of the stock settings that manufacturers love setting (default governors, lowest CPU frequency, etc)

CPU governors work by controlling how much speed is used at a given time, a good description of what each governor does is listed here: http://xdaforums.com/showthread.php?t=1736168

I/O governors (simply speaking) control how files and requests are being handled by the system, a good description of what each governors is listed here: http://xdaforums.com/showpost.php?p=23616564&postcount=4. Good way to understand this is if you learnt programming and you learnt the Stack/Queue ADTs in a programming language, it describes things better when looking at the descriptions in the link above.

Adjusting Synapse/Trickster would not get you anywhere to getting the best battery/best performance out of the phone. You will have to experiment and check which kernel is best with your phone, according to your SOC_PVS value. SOC_PVS value is how Qualcomm decides your processor's manufacturing "rank" and if you compare a low rank to a high rank, you will see that you can use less power to operate a high ranked chip compared to a low ranked counterpart. As most governors rely heavily on how the code is handled by the system, you should always go for the kernel that fits your system, and setting configurations depending on your system's likings. By following other people's configurations you risk sporadic reboots and incompatibilities, as not all phones are built the same way.

Things you should not touch if you are afraid of destroying your phone: Overvolting and Overclocking, as these may fry your device if you don't know what you are doing.

Any questions - click reply to this, or else I won't see it!
First of all thank u very much for the detailed response. That was exactly what I was looking for. I will get back to you after going through the awesome links you were posting with some more knowledge ;)
One thing which came straight in my mind was how do I know if I have a low or high rank from the soc_pvs_value and where do I find it?
Thanks again!
 

nicholaschum

Substratum Development Leader / Inactive RT
Feb 3, 2011
6,076
13,841
University of Toronto
plus.google.com
First of all thank u very much for the detailed response. That was exactly what I was looking for. I will get back to you after going through the awesome links you were posting with some more knowledge ;)
One thing which came straight in my mind was how do I know if I have a low or high rank from the soc_pvs_value and where do I find it?
Thanks again!

Anytime :)

You can either install Synapse (If your Kernel supports it, and click on the button under CPU), or check here:

Code:
 /sys/devices/system/soc/soc0/soc_pvs

The higher your number, the better.
 
  • Like
Reactions: 4aces

4aces

Senior Member
Feb 16, 2010
1,614
2,669
Anytime :)

You can either install Synapse (If your Kernel supports it, and click on the button under CPU), or check here:

Code:
 /sys/devices/system/soc/soc0/soc_pvs

The higher your number, the better.
I ran out of "thanks" so u get it tomorrow. But thanks again. One more thing:
How do I know if I have a high number/between which numbers does the value wary? My soc_pvs is 3.
 

nicholaschum

Substratum Development Leader / Inactive RT
Feb 3, 2011
6,076
13,841
University of Toronto
plus.google.com
I ran out of "thanks" so u get it tomorrow. But thanks again. One more thing:
How do I know if I have a high number/between which numbers does the value wary? My soc_pvs is 3.

You got a rather good number.

The lowest is 0, and the highest is 6. I have 2 but I don't undervolt so this is not an issue :)
 
  • Like
Reactions: 4aces

nicholaschum

Substratum Development Leader / Inactive RT
Feb 3, 2011
6,076
13,841
University of Toronto
plus.google.com
Aaand one more question.
What is the difference in tcp congestion control (cubic/reno) and what does it change?

That seems more of a Trickster Mod specific tweak.

It is more of a network speed tweak which you can read here: http://en.m.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
In simple words, you have to understand what Network Congestion is, and how queues affect how much data is being transmitted. When too much data is being carried in a link or a node, the quality of service would deteriorate. To do Congestion control, it affects how much data is being transmitted through each node systematically. This is rather complicated to explain using simple terms as this is a mathematical formula which processes how much data is being transmitted.

Cubic is used by many default linux kernels. Like CPU governors, these are data transmission governors, and it is best if you use the one better for your TCP/IP connection (Carrier or Wifi)
 
  • Like
Reactions: 4aces

4aces

Senior Member
Feb 16, 2010
1,614
2,669
That seems more of a Trickster Mod specific tweak.

It is more of a network speed tweak which you can read here: http://en.m.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
In simple words, you have to understand what Network Congestion is, and how queues affect how much data is being transmitted. When too much data is being carried in a link or a node, the quality of service would deteriorate. To do Congestion control, it affects how much data is being transmitted through each node systematically. This is rather complicated to explain using simple terms as this is a mathematical formula which processes how much data is being transmitted.

Cubic is used by many default linux kernels. Like CPU governors, these are data transmission governors, and it is best if you use the one better for your TCP/IP connection (Carrier or Wifi)
Just read the answer in the link u posted. Stupid me.
Sorry for taking up your time.
 
Last edited:

4aces

Senior Member
Feb 16, 2010
1,614
2,669
That seems more of a Trickster Mod specific tweak.

It is more of a network speed tweak which you can read here: http://en.m.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
In simple words, you have to understand what Network Congestion is, and how queues affect how much data is being transmitted. When too much data is being carried in a link or a node, the quality of service would deteriorate. To do Congestion control, it affects how much data is being transmitted through each node systematically. This is rather complicated to explain using simple terms as this is a mathematical formula which processes how much data is being transmitted.

Cubic is used by many default linux kernels. Like CPU governors, these are data transmission governors, and it is best if you use the one better for your TCP/IP connection (Carrier or Wifi)
I have another question. If I want to oc or uv is there any script I have to use or can I just apply/test right away?
 

4aces

Senior Member
Feb 16, 2010
1,614
2,669
Just use the main interface of either Trickster or Synapse. I use Synapse personally as my kernel provides the best interface on Synapse.
What I found out so far is that the device runs smoother on performance based governors with cfq or sio scheduler. The best results I had so far was on lean kernel and ael kernel. I'm using the last at the moment cause it has a lot of settings to play with;)
But it seems that I'm still miles away from finding the best settings.
 
Last edited:

nicholaschum

Substratum Development Leader / Inactive RT
Feb 3, 2011
6,076
13,841
University of Toronto
plus.google.com
What I found out so far is that my device reacts not good on performance based governors & schedulers. The best results I had so far was on lean kernel and ael kernel. I'm using the last at the moment cause it has a lot of settings to play with;)
But it seems that I'm still miles away from finding the best settings.

I could give you some recommendations that would work well decently with 2-3 PVS valued processors.

Interactive Governor
No OC, No UV.
I/O schedulers Internal: cfq 512kb
I/O schedulers External: cfq 512kb
Dynamic Fsync Enabled
PowerSuspend driver enabled
Mdnie enabled, 0.39%
FastCharge Enabled
GPU Governor: Simple Ondemand 450MHz

I use CivZ's SneakyKat but Wootever's Custom N3 has the best battery life. If you want features you should play with CivZ's, if you like 6h screen on then you should play with Wootever.

You don't have to follow these values, but I spent days restarting my phone finding the best "average" configuration for devices ranging in my state. I found that Intellidemand didn't do so well and Interactive prevented any sporadic reboots that I got while on Intellidemand. Also read aheads of above 512kb doesn't show much speed enhancements. Synapse is great as it tells you whether your boot is successful or not, and now all my boots get Completed.

Notice: Do not soft reboot when configuring Kernels, Kernels don't get loaded properly/doesn't get reset properly so use Full reboot when configuring :)
 
  • Like
Reactions: 4aces

4aces

Senior Member
Feb 16, 2010
1,614
2,669
cpu lock

I tried gaming with different kernels and governors and encountered a strange issue. Especially in candy crush after playing for a while the cpu locks (sometimes on 14k sometimes 12k). Reboot fixes it but I'm still curious why it locks.
@nicholaschum any idea?

Btw. my favorite settings so far are intellidemand with deadline gr8 performance and battery life is OK.
 

nicholaschum

Substratum Development Leader / Inactive RT
Feb 3, 2011
6,076
13,841
University of Toronto
plus.google.com
I tried gaming with different kernels and governors and encountered a strange issue. Especially in candy crush after playing for a while the cpu locks (sometimes on 14k sometimes 12k). Reboot fixes it but I'm still curious why it locks.
@nicholaschum any idea?

Btw. my favorite settings so far are intellidemand with deadline gr8 performance and battery life is OK.

That's a bit weird, did you have powersaving turned on? But I assume it's off.

I think you should disable your kernel mod application in Application Manager and test it out, if it's a problem with Synapse/Trickster then one setting is a bit problematic.
 
  • Like
Reactions: 4aces

4aces

Senior Member
Feb 16, 2010
1,614
2,669
That's a bit weird, did you have powersaving turned on? But I assume it's off.

I think you should disable your kernel mod application in Application Manager and test it out, if it's a problem with Synapse/Trickster then one setting is a bit problematic.
Nope that's why it's strange. Even got it after clean flash without setting/installing any Kernel related apps.
Tested other games and they work fine so I deleted candy crush and so far no cpu lock. No idea why, that's why I was curious;)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    I don't know if the answer to my question is somewhere hidden between the thousands of threats but I did try to find it before(including Google and YouTube) and would be more than happy to get a reply.

    I'm using custom Kernels since the Note 2 but was never able to put more time and afford in to understand how they actually work and always used the default settings.
    Now I'm trying to get some knowledge on Kernel settings and what is safe to change and what not. I'm very interested on how a Kernel works and how I can boost both battery life and/or performance as well as the basic knowledge of the Kernel settings.

    At the moment I'm trying to explore with trickster mod to kinda learn by doing but I always get really bad results in testing or no big changes when I change the governor. Also I'm a little afraid in messing up my phone and therefor don't change the settings much. What I know is that the same Kernel can have different outcomes on different Note 3's so please do not post just your Kernel and settings without explanation cause I would like to find the most suited Kernel and settings for my Note.

    Sooo...Some help and explanations would be more than appreciated.

    I can give you a brief (easy) explanation with comparisons to try to get you to understand what a kernel is.

    A kernel is your phone's driver (like a car) where it adjusts settings of the hardware and controls how each individual part interacts with each other.

    There is a reason you take a car to get tuned up, and that is because a car can go berserk as there is no "maintaining force" - YOU or the person who tunes your car makes changes to the car to make sure it does not overheat, use less power per mile travelled, control how much windshield fluid is being released or how much torque force required to ensure the car does not snap XXXXXX when going at a speed of YYYYYY.

    These options are beyond the manufacturer's decisions, and therefore when people flash a kernel you immediately trip KNOX (N9005). You can give your phone less power to process, more power to process (not recommended), speed up the CPU/limit the CPU, control governors on how the disk I/O (input/output) is being handled and/or control how much the phone will swap to it's virtual memory when it reaches no memory.

    People think use a custom kernel! It saves you a ton of battery life!. This statement is partially wrong. You have to understand how a kernel reacts to your phone. Even though I know that lite kernels like Wootever's Custom N3 has the best battery life, this is because it has less tweaks and features that may boggle the user, and may allow for subsequent battery life extension compared to CivZ's SneakyKat or Imoseyon's LeanKernel. By inserting new tweaks into the kernel, you allow to have more "useful" features that may add to the "driver's knowledge" - Color tweaking, Fast charge over USB, CIFS support, all are extras that the kernel supports. To save power, developers remove the junk that the manufacturers added and added their own settings to make sure they get the result they would like, then they would share it to the public. However, people recommend custom kernels as they get more options when they flash it, as well as ridding of a lot of the stock settings that manufacturers love setting (default governors, lowest CPU frequency, etc)

    CPU governors work by controlling how much speed is used at a given time, a good description of what each governor does is listed here: http://xdaforums.com/showthread.php?t=1736168

    I/O governors (simply speaking) control how files and requests are being handled by the system, a good description of what each governors is listed here: http://xdaforums.com/showpost.php?p=23616564&postcount=4. Good way to understand this is if you learnt programming and you learnt the Stack/Queue ADTs in a programming language, it describes things better when looking at the descriptions in the link above.

    Adjusting Synapse/Trickster would not get you anywhere to getting the best battery/best performance out of the phone. You will have to experiment and check which kernel is best with your phone, according to your SOC_PVS value. SOC_PVS value is how Qualcomm decides your processor's manufacturing "rank" and if you compare a low rank to a high rank, you will see that you can use less power to operate a high ranked chip compared to a low ranked counterpart. As most governors rely heavily on how the code is handled by the system, you should always go for the kernel that fits your system, and setting configurations depending on your system's likings. By following other people's configurations you risk sporadic reboots and incompatibilities, as not all phones are built the same way.

    Things you should not touch if you are afraid of destroying your phone: Overvolting and Overclocking, as these may fry your device if you don't know what you are doing.

    Any questions - click reply to this, or else I won't see it!
    1
    First of all thank u very much for the detailed response. That was exactly what I was looking for. I will get back to you after going through the awesome links you were posting with some more knowledge ;)
    One thing which came straight in my mind was how do I know if I have a low or high rank from the soc_pvs_value and where do I find it?
    Thanks again!

    Anytime :)

    You can either install Synapse (If your Kernel supports it, and click on the button under CPU), or check here:

    Code:
     /sys/devices/system/soc/soc0/soc_pvs

    The higher your number, the better.
    1
    I ran out of "thanks" so u get it tomorrow. But thanks again. One more thing:
    How do I know if I have a high number/between which numbers does the value wary? My soc_pvs is 3.

    You got a rather good number.

    The lowest is 0, and the highest is 6. I have 2 but I don't undervolt so this is not an issue :)
    1
    You got a rather good number.

    The lowest is 0, and the highest is 6. I have 2 but I don't undervolt so this is not an issue :)
    Can't thank u enough!!! Now I will be off to some reading and testing ;)
    1
    Aaand one more question.
    What is the difference in tcp congestion control (cubic/reno) and what does it change?

    That seems more of a Trickster Mod specific tweak.

    It is more of a network speed tweak which you can read here: http://en.m.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
    In simple words, you have to understand what Network Congestion is, and how queues affect how much data is being transmitted. When too much data is being carried in a link or a node, the quality of service would deteriorate. To do Congestion control, it affects how much data is being transmitted through each node systematically. This is rather complicated to explain using simple terms as this is a mathematical formula which processes how much data is being transmitted.

    Cubic is used by many default linux kernels. Like CPU governors, these are data transmission governors, and it is best if you use the one better for your TCP/IP connection (Carrier or Wifi)