Re: uninterruptible sleep lockups

From: Chris Friesen
Date: Tue Feb 22 2005 - 15:57:53 EST


Horst von Brand wrote:
Anthony DiSante <theant@xxxxxxxxxxxxxxx> said:

That's one of the things I asked a few messages ago. Some people on the list were saying that it'd be "really hard" and would "require a lot of bookkeeping" to "fix" permanently-D-stated processes... which is completely different than "impossible."

Most people here have little clue. It can't be done.

I realize it would be extremely difficult if not impossible to do in the current linux architecture, but I find it hard to believe that it is technically impossible if one were allowed to design the system from scratch.

Maybe I'm on crack, but would it not be technically possible to have all resource usage be tracked so that when a task tries to do something and hangs, eventually it gets cleaned up?

We already handle cleaning up stuff for userspace (memory, file descriptors, sockets, etc.). Why not enforce a design that says "all entities taking a lock must specify a maximum hold time". After that time expires, they are assumed to be hung, and all their resources (which were being tracked by some system) get cleaned up.

It would probably be complicated, slow, and generally not worth the effort. But it seems at least technically possible.

Chris
-
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/