understanding cpuidle

Arun KS getarunks at gmail.com
Tue Oct 21 07:33:33 EDT 2014


Hi Ran,

On Thu, Oct 16, 2014 at 1:12 PM, Ran Shalit <ranshalit at gmail.com> wrote:
> Hello,
>
> I try to understand the cpuidle main concept but have some
> difficulties. I could not find any documentation to explain the
> cpuidle.
>
> what does it mean that it enters idle when "no thread to run" ?if I
> have only one process which does only
> while(1)
> {
>  printf("C");
> mdelay(1000);
> }
> Can I expect it to enter idle for 1 second and then print "C" and get
> again to idle ?


Your code will not go to cpu idle, because it is mdelay(), which is a
busy looping.

If you have used msleep(), you are relinquishing the cpu.
Considering the fact that you have only one process running in your
system, no other process in runnable state, kernel schedules the
swapper(or idle) process.
And you will enter into cpu idle.

Thanks,
Arun

>
> Thanks
> Ran
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



More information about the Kernelnewbies mailing list