[DRBD-user] Identifying High iowait on DRBD Computers

yvette hirth yvette at dbtgroup.com
Fri Feb 18 00:51:18 CET 2011

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



More information about the drbd-user mailing list