On Tue, Apr 17, 2012 at 6:26 AM, mani <manishrma@xxxxxxxxx> wrote: > So is that means that TASK_UNINTERRUPTIBLE will not get schedule by the > scheduler ? > Can anyone give the detail information what's going on in backyard ? An explanation of the different states is given in [1]: A process can sleep in two different modes, interruptible and uninterruptible. In an interruptible sleep, the process could be woken up for processing of signals. In an uninterruptible sleep, the process could not be woken up other than by issuing an explicit wake_up. Interruptible sleep is the preferred way of sleeping, unless there is a situation in which signals cannot be handled at all, such as device I/O. So, unless you absolutely cannot handle singals, you should use TASK_INTERRUPTIBLE and check for signals using signal_pending() (many code examples use this in the ldd3 book). TASK_UNINTERRUPTIBLE consequently means that your thread is not scheduled unless you explicitly wake up the thread. Greetings, Philipp [1]: http://www.linuxjournal.com/article/8144?page=0,0 _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies