Re: [feature] automatically detect hung TASK_UNINTERRUPTIBLE tasks

From: Rafael J. Wysocki
Date: Mon Dec 03 2007 - 17:29:07 EST


On Monday, 3 of December 2007, Ingo Molnar wrote:
>
> * Rafael J. Wysocki <rjw@xxxxxxx> wrote:
>
> > > This feature will save one full reporter-developer round-trip during
> > > investigation of a significant number of bug reports.
> > >
> > > It might be more practical if it were to dump the traces for _all_
> > > D-state processes when it fires - basically an auto-triggered
> > > sysrq-W.
> >
> > Er, it won't play well if that happen when tasks are frozen for
> > suspend.
>
> right now any suspend attempt times out after 20 seconds:
>
> $ grep TIMEOUT kernel/power/process.c
> #define TIMEOUT (20 * HZ)
> end_time = jiffies + TIMEOUT;

This is the timeout for freezing tasks, but if the freezing succeeds, they
can stay in TASK_UNINTERRUPTIBLE for quite some more time, especially during
a hibernation (the tasks stay frozen until we power off the system after saving
the image).

> which should be well before the 120 seconds timeout that the detector
> uses. But indeed you are right in that the refrigerator() works via
> TASK_UNINTERRUPTIBLE too. I've updated the patch to exclude PF_FROZEN -
> attached below. That should solve this particular issue, even if the
> timeout increased to above 20 secs, right?

Sure.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/