Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
Matt Graham wrote: > Under Linux, a process in state D (waiting for a syscall to return) *cannot* > be killed, even with SIGKILL. The kernel programmers found a number of > circumstances where terminating a process in state D could lead to Undefined > Behavior, as I understand it. The example I remember was a process doing a > read() syscall on a dodgy disk. Kernel code says, "When the read from the > disk completes, I'll use DMA to shove the result into page 0x131072." Disk > can't deliver immediately because it's flaky. User kill -9s the process. > Kernel MM code releases page 0x131072, some other process grabs hold of that > page. Disk eventually gets its act together, uses DMA to write data to that > page, other process gets its data corrupted. How embarrassing. perhaps the kernel and/or filesystem drivers should be upgraded to recognize when the userspace is abending / no longer present and cancel all pending i/o for that userspace. this is what z/OS does. yvette hirth