Hung Task Timeout

mani manishrma at
Tue Apr 17 07:35:36 EDT 2012

Thanks Philipp for the explanation and the link.

But i Still have the same question:-

*Do scheduler schedule the tasks with TASK_INTERRUPTIBLE state **? *
run queue
and so both type of tasks should not being scheduled by the scheduler.
If YES, then why it is needed to schedule task in TASK_INTERRUPTIBLE state ?

What is the significance of the task->switch_count in the scheduler ?
surely it got updated for the TASK_INTERRUPTIBLE task.


On Tue, Apr 17, 2012 at 1:06 PM, Philipp Ittershagen <
p.ittershagen at> wrote:

> On Tue, Apr 17, 2012 at 6:26 AM, mani <manishrma at> 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]:,0
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Kernelnewbies mailing list