Re: [feature] automatically detect hung TASK_UNINTERRUPTIBLE tasks

Radoslaw Szkodzinski
2007-12-03T10:15:47Z

[-- Attachment #1: Type: text/plain, Size: 2465 bytes --]

On Mon, 3 Dec 2007 10:55:01 +0100
Andi Kleen <andi@firstfloor.org> wrote:

> On Sun, Dec 02, 2007 at 04:59:13PM -0800, Arjan van de Ven wrote:
> > On Mon, 3 Dec 2007 01:07:41 +0100
> > Andi Kleen <andi@firstfloor.org> wrote:
> >
> > > This patch will likely work against that by breaking error paths.
> >
> > it won't break error paths, it will at most put a warning in the log.
> > It doesn't kill or otherwise damage the system or process.
>
> From the user perspective a kernel randomly throwing backtraces is
> a broken kernel.

Throwing in my 2c:
Kernel waiting 2 minutes on TASK_UNINTERRUPTIBLE is certainly broken.
I wouldn't wait that long for the system to become responsive, I yanked
the power cord already.

Hm, that's already detected with sleep_uninterruptible logic.

A task that's not killable for more than 2 minutes is broken still, but
less so.

> > > > This patch is a step in the right direction there, by quite a
> > > > lot.
> > > >
> > > > I really don't understand what your objection is to this patch...
> > > > is it that an enterprise distro can't ship with it on? (Which is
> > > > fine btw)
> > >
> > > Any distribution aimed at end users cannot ship with it on.
> >
> > That's a pretty bold statement; assuming that the TASK_KILLABLE patch
> > is in, I don't see the problem.
>
> iirc TASK_KILLABLE fixed NFS only. While that's a good thing there are
> unfortunately a lot more subsystems that would need the same treatment.

Yes, that's exactly why the patch is needed - to find the bugs and fix
them. Otherwise you'll have problems finding some places to convert to
TASK_KILLABLE.

CIFS and similar have to be fixed - it tends to lock the app
using it, in unkillable state.

> > > Also in general I have my doubts that the false positive:real bug
> > > ratio of this warning is well balanced.
> >
> > I'll just have to disagree with you then; but both of us are making
> > wild guesses. Only one way to get the real false positive percentage.
>
> Yes let's break things first instead of looking at the implications closely.

Throwing _rare_ stack traces is not breakage. 120s task_uninterruptible
in the usual case (no errors) is already broken - there are no sane
loads that can invoke that IMO.

A stack trace on x subsystem error is not that bad, especially as these
are limited to 10 per session.

Disclaimer: I am not a kernel developer, just a user.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]