Felipe Alfaro Solana said: > On Tue, 2004-01-20 at 05:15, Gregory Gulik wrote: >> F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD >> 1 D 0 11952 1 0 80 2 - 1341 wait_o ? 00:00:00 >> gtar > > This process is blocked waiting for I/O, so I can't be killed until the > I/O request is completed. This is something usual for processes which > use NFS: when the remote NFS dies or stops responding, the client > program stays at D and can't be killed. I find the above very interesting, and it reminds me of the purpose of the "MIH routine" in mainframe systems... MIH = Missing Interrupt Handler. In mainframe parlance, if the "device end interrupt" got "lost", the associated IO device would appear hung and no further IO to/from it would occur. The MIH routine detects a "stalled device queue" and re-initiates the IO. (Which may fail with an IO error, but that's OK, the error can be processed. Maybe Linuc needs an "MIH routine, especially for network devices.