Hi Ran, On Thu, Oct 16, 2014 at 1:12 PM, Ran Shalit <ranshalit@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxx > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies