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/