I was going through the Linux power management files, and I am confused about the C and S states.
- The C-states are defined in
/sys/devices/system/cpux/cpuidle/
. From what I understand they are used to put the CPU in different sleep states depending on the level of idleness. - The S-state interface is in
/sys/power/state
and I can see different sleep states like freeze, standby, mem, etc. If I read their description they are trying to accomplish the same thing that the C-states are trying to do.
This brings me to my question: What is the difference between them? And if I want to prevent my system from going into idle, what parameters should I set. I set the disable parameter for the C-state in /sys/devices/system/cpux/cpuidle/
but I could still observe my phone going into the idle state (used systrace
for observation).